11#ifndef InDetReadoutGeometry_PixelDetectorManager_h
12#define InDetReadoutGeometry_PixelDetectorManager_h 1
27class GeoAlignableTransform;
30class GeoVAlignmentStore;
58 virtual PVConstLink
getTreeTop(
unsigned int i)
const override;
76 int eta_module)
const;
91 GeoAlignableTransform *xf,
92 const GeoVFullPhysVol * child);
97 GeoAlignableTransform *xf,
98 const GeoVPhysVol * child);
103 GeoAlignableTransform *)
override {};
110 virtual bool isPixel()
const override {
return true;}
134 GeoVAlignmentStore* alignStore=
nullptr)
const override;
140 GeoVAlignmentStore* alignStore)
const override;
151 GeoVAlignmentStore* alignStore)
const override;
Provide an interface for finding inheritance information at run time.
#define SG_BASES(D,...)
Declare the base classes from which D derives.
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
This is an Identifier helper class for the Pixel subdetector.
This class is a collection of AttributeLists where each one is associated with a channel number.
DataModel_detail::const_iterator< DataVector > const_iterator
DataModel_detail::iterator< DataVector > iterator
This is a "hash" representation of an Identifier.
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
std::vector< std::unique_ptr< ExtendedAlignableTransform > > m_alignableTransforms
virtual const PixelModuleDesign * getPixelDesign(int i) const
Access to module design, Casts to PixelModuleDesign.
std::map< Identifier, std::unique_ptr< ExtendedAlignableTransform > > AlignableTransformMap
void printTransform(MSG::Level level, const Amg::Transform3D &tr) const
void addTreeTop(const PVConstLink &vol)
Add a Tree top:
virtual void addDetectorElement(SiDetectorElement *element) override
Add elememts.
bool processSpecialAlignment(const std::string &, InDetDD::AlignFolderType) override
Process new IBLDist DB folder.
virtual SiDetectorElementCollection::const_iterator getDetectorElementBegin() const override
virtual void addAlignableTransform(int, const Identifier &, GeoAlignableTransform *) override
Add alignable transforms.
virtual bool isPixel() const override
Methods to query which manager we have.
std::vector< PVConstLink > m_volume
virtual const PixelID * getIdHelper() const override
PixelDetectorManager(StoreGateSvc *detStore)
Constructor.
virtual SiDetectorElementCollection::const_iterator getDetectorElementEnd() const override
const PixelDetectorManager & operator=(const PixelDetectorManager &right)
prevent copy and assignment
virtual const SiDetectorElementCollection * getDetectorElementCollection() const override
access to whole collection via Iterators
virtual unsigned int getNumTreeTops() const override
Access to raw geometry:
PixelDetectorManager(const PixelDetectorManager &right)
const PixelID * m_idHelper
SiDetectorElementCollection m_elementCollection
bool m_isLogical
This variable switches the how the local alignment corrections are applied If true they will be calcu...
unsigned int getEndcapLayers() const
Layers built.
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...
virtual void addAlignableTransform(int level, const Identifier &id, GeoAlignableTransform *xf, const GeoVFullPhysVol *child)
Add alignable transforms.
std::vector< AlignableTransformMap > m_higherAlignableTransforms
unsigned int getBarrelLayers() const
Layers built.
virtual void initNeighbours() override
Initialize the neighbours.
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.
virtual PVConstLink getTreeTop(unsigned int i) const override
virtual bool identifierBelongs(const Identifier &id) const override
Check identifier is for this detector.
virtual const SiDetectorElement * getDetectorElement(const Identifier &id) const override
access to individual elements : via Identifier
Class used to describe the design of a module (diode segmentation and readout scheme).
Class to hold the SiDetectorElement objects to be put in the detector store.
Class to hold geometrical description of a silicon detector element.
SiDetectorManager(StoreGateSvc *detStore, const std::string &name)
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
This is an Identifier helper class for the Pixel subdetector.
Base class for Pixel and SCT Detector managers.
The Athena Transient Store API.
Eigen::Affine3d Transform3D