|
ATLAS Offline Software
|
Go to the documentation of this file.
11 #ifndef INDETREADOUTGEOMETRY_SIDETECTORMANAGER_H
12 #define INDETREADOUTGEOMETRY_SIDETECTORMANAGER_H
23 #include "CLHEP/Geometry/Transform3D.h"
33 class GeoAlignableTransform;
34 class GeoVAlignmentStore;
39 class SiDetectorElement;
40 class SiDetectorDesign;
41 class ExtendedAlignableTransform;
93 const std::string &
tag()
const;
112 GeoVAlignmentStore* alignStore=
nullptr) ;
118 GeoVAlignmentStore* alignStore=
nullptr) ;
130 void setCommonItems(std::unique_ptr<const SiCommonItems>&& commonItems);
142 GeoVAlignmentStore* alignStore)
const = 0;
148 std::vector<std::unique_ptr<const SiDetectorDesign>>
m_designs;
156 #ifndef GAUDI_NEUTRAL
162 #endif // INDETREADOUTGEOMETRY_SIDETECTORMANAGER_H
virtual SiDetectorElement * getDetectorElement(const IdentifierHash &idHash) const =0
virtual void initNeighbours()=0
Initialize the neighbours.
virtual SiDetectorElement * getDetectorElement(const Identifier &id) const =0
access to individual elements using Identifier or IdentiferHash
const SiNumerology & numerology() const
Access Numerology.
SiDetectorManager(StoreGateSvc *detStore, const std::string &name)
std::vector< std::unique_ptr< const SiDetectorDesign > > m_designs
static bool setAlignableTransformLocalDelta(ExtendedAlignableTransform *extXF, const Amg::Transform3D &localToGlobalXF, const Amg::Transform3D &delta, GeoVAlignmentStore *alignStore=nullptr)
Helper method to set delta transform from a local delta - Amg interface.
virtual void addDetectorElement(SiDetectorElement *element)=0
Add elememts.
const SiDetectorDesign * addDesign(std::unique_ptr< const SiDetectorDesign > &&)
Access to module design; returns an observer pointer.
virtual const SiDetectorElementCollection * getDetectorElementCollection() const =0
access to whole collectiom
void setCommonItems(std::unique_ptr< const SiCommonItems > &&commonItems)
Set SiCommonItems.
static bool setAlignableTransformGlobalDelta(ExtendedAlignableTransform *extXF, const Amg::Transform3D &delta, GeoVAlignmentStore *alignStore=nullptr)
Helper method to set delta transform from a global delta - Amg interface.
virtual ~SiDetectorManager()
virtual void invalidateAll() const
Invalidate cache for all detector elements.
The Athena Transient Store API.
const SiDetectorDesign * getDesign(int i) const
Eigen::Affine3d Transform3D
const SiDetectorManager & operator=(const SiDetectorManager &right)
const std::string & tag() const
Get tag used in dictionary.
virtual bool setAlignableTransformDelta(int level, const Identifier &id, const Amg::Transform3D &delta, FrameType frame, GeoVAlignmentStore *alignStore) const =0
This method is called by the InDetDetectorManager.
virtual bool isPixel() const =0
Methods to query which manager we have.
SiNumerology m_numerology
virtual void addAlignableTransform(int level, const Identifier &id, GeoAlignableTransform *xf)=0
Add alignable transforms.
SiNumerology & numerology()
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
SiDetectorManager(const SiDetectorManager &right)
virtual SiDetectorElementCollection::const_iterator getDetectorElementEnd() const =0
virtual void updateAll() const
Update all caches.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
virtual SiDetectorElementCollection::const_iterator getDetectorElementBegin() const =0
std::unique_ptr< const SiCommonItems > m_commonItems
macros to associate a CLID to a type
This class provides an interface to generate or decode an identifier for the upper levels of the dete...