|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef INDETREADOUTGEOMETRY_SCT_DETECTORMANAGER_H
10 #define INDETREADOUTGEOMETRY_SCT_DETECTORMANAGER_H
14 #include "GeoModelKernel/GeoVPhysVol.h"
29 class GeoAlignableTransform;
30 class GeoVFullPhysVol;
32 class GeoVAlignmentStore;
37 class SiDetectorElement;
64 virtual PVConstLink
getTreeTop(
unsigned int i)
const override;
99 GeoAlignableTransform* xf,
100 const GeoVFullPhysVol* child);
105 GeoAlignableTransform* xf,
106 const GeoVPhysVol* child);
115 virtual bool isPixel()
const override {
return false;}
127 GeoVAlignmentStore* alignStore)
const override;
136 GeoVAlignmentStore* alignStore=
nullptr)
const override;
153 GeoVAlignmentStore* alignStore)
const override;
187 #ifndef GAUDI_NEUTRAL
192 #endif // INDETREADOUTGEOMETRY_SCT_DETECTORMANAGER_H
void addMotherDesign(std::unique_ptr< const SCT_ModuleSideDesign > &&)
std::vector< AlignableTransformMap > m_higherAlignableTransforms
virtual unsigned int getNumTreeTops() const override
This is an Identifier helper class for the SCT subdetector. This class is a factory for creating comp...
SCT_DetectorManager(StoreGateSvc *detStore)
Constructor.
virtual bool identifierBelongs(const Identifier &id) const override
Check identifier is for this detector.
std::vector< std::unique_ptr< ExtendedAlignableTransform > > m_moduleAlignableTransforms
std::vector< std::unique_ptr< const SCT_ModuleSideDesign > > m_motherDesigns
bool m_isLogical
This variable switches the how the local alignment corrections are applied If true they will be calcu...
virtual SiDetectorElementCollection::const_iterator getDetectorElementBegin() const override
virtual bool setAlignableTransformDelta(int level, const Identifier &id, const Amg::Transform3D &delta, FrameType frame, GeoVAlignmentStore *alignStore) const override
implements the main alignment update for delta transforms in different frames, it translates into the...
SCT_DetectorManager(const SCT_DetectorManager &right)=delete
Prevent copy constructor.
bool processSpecialAlignment(const std::string &key, InDetDD::AlignFolderType alignfolder) const override
Comply with InDetDetectorManager interface (not implemented for SCT)
virtual bool processGlobalAlignment(const std::string &, int level, FrameType frame, const CondAttrListCollection *obj, GeoVAlignmentStore *alignStore) const override
Process new global DB folders for L1 and L2.
const SCT_ID * m_idHelper
This class is a collection of AttributeLists where each one is associated with a channel number....
virtual SiDetectorElement * getDetectorElement(const Identifier &id) const override
access to individual elements via Identifier
virtual void addAlignableTransform(int, const Identifier &, GeoAlignableTransform *) override
DEPRECATED For backward compatibility.
virtual const SCT_ID * getIdHelper() const override
virtual const SiDetectorElementCollection * getDetectorElementCollection() const override
access to whole collectiom
The Athena Transient Store API.
std::vector< std::unique_ptr< ExtendedAlignableTransform > > m_alignableTransforms
Eigen::Affine3d Transform3D
void addTreeTop(const PVConstLink &vol)
Add tree top.
const SCT_ModuleSideDesign * getSCT_Design(int i) const
Access to module design, casts to SCT_ModuleSideDesign.
SiDetectorElementCollection m_elementCollection
virtual SiDetectorElementCollection::const_iterator getDetectorElementEnd() const override
std::vector< PVConstLink > m_volume
virtual PVConstLink getTreeTop(unsigned int i) const override
virtual void addAlignableTransform(int level, const Identifier &id, GeoAlignableTransform *xf, const GeoVFullPhysVol *child)
Add alignable transforms. No access to these, they will be changed by manager:
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
virtual void addDetectorElement(SiDetectorElement *element) override
Add elememts during construction.
std::map< Identifier, std::unique_ptr< ExtendedAlignableTransform > > AlignableTransformMap
virtual bool isPixel() const override
Methods to query which manager we have.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
const SCT_DetectorManager & operator=(const SCT_DetectorManager &right)=delete
Prevent assign operator.
macros to associate a CLID to a type
virtual void initNeighbours() override
Initialize the neighbours. This can only be done when all elements are built.