5#ifndef TRT_READOUTGEOMETRY_TRT_DETECTORMANAGER_H
6#define TRT_READOUTGEOMETRY_TRT_DETECTORMANAGER_H
21#include "GeoModelKernel/GeoVPhysVol.h"
23#include "GeoModelKernel/GeoXF.h"
33class GeoAlignableTransform;
34class GeoVAlignmentStore;
74 virtual PVConstLink
getTreeTop(
unsigned int i)
const override;
115 ,
unsigned int moduleIndex
116 ,
unsigned int phiIndex
117 ,
unsigned int strawLayerIndex)
const;
120 ,
unsigned int moduleIndex
121 ,
unsigned int phiIndex
122 ,
unsigned int strawLayerIndex);
129 ,
unsigned int wheelIndex
130 ,
unsigned int strawLayerIndex
131 ,
unsigned int phiIndex)
const;
133 ,
unsigned int wheelIndex
134 ,
unsigned int strawLayerIndex
135 ,
unsigned int phiIndex);
179 GeoAlignableTransform *transform,
180 const GeoVFullPhysVol * child = 0,
181 const GeoVFullPhysVol * frameVol = 0);
186 GeoAlignableTransform *transform,
187 const GeoVPhysVol * child = 0,
188 const GeoVPhysVol * frameVol = 0);
195 GeoVAlignmentStore* alignStore)
const override;
201 GeoVAlignmentStore* alignStore)
const;
221 GeoVAlignmentStore* alignStore)
const override;
227 GeoVAlignmentStore* alignStore=
nullptr)
const override;
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
#define IOVSVC_CALLBACK_ARGS
short hand for IOVSvc call back argument list, to be used when no access to formal arguments is neede...
This is an Identifier helper class for the TRT subdetector.
Define macros for attributes used to control the static checker.
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.
InDetDetectorManager(StoreGateSvc *detStore, const std::string &name)
Local Straw Positions (from the center of the module.)
Extended TRT_BaseElement to describe a TRT readout element, this is a planar layer with n ( order of ...
Virtual base class of TRT readout elements.
This class is an interface to conditions objects.
Class to hold collection of TRT detector elements.
Class to hold different TRT detector elements structures.
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
virtual const TRT_ID * getIdHelper() const override
std::vector< PVLink > m_volume
const GeoXF::Function * m_barrelXF[3]
const TRT_BaseElement * getElement(Identifier id) const
Access Elements Generically---------------------------------------------—.
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.
void manageBarrelElement(TRT_BarrelElement *barrel)
const TRT_BarrelElement * getBarrelElement(unsigned int positive, unsigned int moduleIndex, unsigned int phiIndex, unsigned int strawLayerIndex) const
Access Barrel Elements:---------------—(Fast)-------------------------—.
void setBarrelTransformField(size_t i, const GeoXF::Function *field)
virtual void invalidateAll() override
Invalidate cache for all detector elements.
void setGasType(const ActiveGasType &)
std::map< Identifier, ExtendedAlignableTransform * > AlignableTransformMap
TRT_Numerology * getNumerology()
Access Numerological information:---------------------------------------—.
void addTreeTop(const PVLink &)
const GeoXF::Function * endcapTransformField(size_t i) const
bool processSpecialAlignment(const std::string &key, InDetDD::AlignFolderType dummy) override
std::set< const TRT_BarrelDescriptor * > m_barrelDescriptors
void setBarrelDescriptor(const TRT_BarrelDescriptor *barrelDescriptor)
Set TRT_Barrel/EndcapDescriptor pointer to the internal sets to delete them in the destructor.
virtual bool identifierBelongs(const Identifier &id) const override
Check identifier is for this detector.
TRT_DetectorManager(StoreGateSvc *detStore)
virtual void updateAll() const override
Update all caches.
const TRT_DetectorManager & operator=(const TRT_DetectorManager &right)
std::string m_digversname
bool setAlignableTransformAnyFrameDelta(ExtendedAlignableTransform *extXF, const Amg::Transform3D &delta, FrameType frame, GeoVAlignmentStore *alignStore) const
Set alignable transforms: Amg based.
virtual PVConstLink getTreeTop(unsigned int i) const override
TRT_DetElementCollection::const_iterator getDetectorElementBegin() const
const TRT_ID * m_idHelper
void setEndcapTransformField(size_t i, const GeoXF::Function *field)
const TRT_Conditions * conditions() const
Conditions interface (mostly for internal use):-------------------------—.
ActiveGasType gasType() const
std::vector< AlignableTransformMap > m_alignableTransforms
const TRT_DetElementContainer * getDetectorElementContainer() const
Access the element container -------------------------------------------—.
TRT_DetElementCollection::const_iterator getDetectorElementEnd() const
const GeoXF::Function * barrelTransformField(size_t i) const
void setEndcapDescriptor(const TRT_EndcapDescriptor *endcapDescriptor)
void manageEndcapElement(TRT_EndcapElement *endcap)
StatusCode alignmentCallback(IOVSVC_CALLBACK_ARGS)
Call back for alignment updates, DEPRECATED.
void addKey ATLAS_NOT_THREAD_SAFE(const std::string &key, int level)
void addAlignableTransform(int level, const Identifier &id, GeoAlignableTransform *transform, const GeoVFullPhysVol *child=0, const GeoVFullPhysVol *frameVol=0)
Add alignable transforms: GeoModel/CLHEP based.
const TRT_EndcapElement * getEndcapElement(unsigned int positive, unsigned int wheelIndex, unsigned int strawLayerIndex, unsigned int phiIndex) const
Access Endcap Elements:---------------—(Fast)--------------------------—.
virtual bool setAlignableTransformDelta(int level, const Identifier &id, const Amg::Transform3D &delta, FrameType frame, GeoVAlignmentStore *alignStore) const override
Set alignable transforms: Amg based.
TRT_DetectorManager(const TRT_DetectorManager &right)
void setIdHelper(const TRT_ID *idHelper, bool owns=true)
Get the ID helper: -----------------------------------------------------—.
void addKey(const std::string &key, int level, FrameType frame)
TRT_Numerology * m_numerology
virtual unsigned int getNumTreeTops() const override
Access Raw Geometry:----------------------------------------------------—.
std::set< const TRT_EndcapDescriptor * > m_endcapDescriptors
TRT_DetElementContainer m_elementContainer
const TRT_DetElementCollection * getDetectorElementCollection() const
Access to Whole Collection of Elements ---------------------------------—.
const GeoXF::Function * m_endcapXF[3]
class TRT_EndcapDescriptor
Extended class of a TRT_BaseElement to describe a readout elment in the endcap.
Helper class to organize the straw elements on TRT readout elements.
The Athena Transient Store API.
This is an Identifier helper class for the TRT subdetector.
Eigen::Affine3d Transform3D