![]() |
ATLAS Offline Software
|
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel information, access. More...
#include <PixelDetectorManager.h>
Public Member Functions | |
| PixelDetectorManager (StoreGateSvc *detStore) | |
| Constructor. | |
| PixelDetectorManager (StoreGateSvc *detStore, const std::string &name, const std::string &pixelIDName) | |
| Constructor with name. | |
| virtual unsigned int | getNumTreeTops () const override |
| Access to raw geometry: | |
| virtual PVConstLink | getTreeTop (unsigned int i) const override |
| void | addTreeTop (const PVConstLink &vol) |
| Add a Tree top: | |
| virtual const SiDetectorElement * | getDetectorElement (const Identifier &id) const override |
| access to individual elements : via Identifier | |
| virtual const SiDetectorElement * | getDetectorElement (const IdentifierHash &idHash) const override |
| access to individual elements : via IdentifierHash | |
| const SiDetectorElement * | getDetectorElement (int barrel_endcap, int layer_wheel, int phi_module, int eta_module) const |
| access to individual elements : via element identification | |
| virtual const SiDetectorElementCollection * | getDetectorElementCollection () const override |
| access to whole collection via Iterators | |
| virtual SiDetectorElementCollection::const_iterator | getDetectorElementBegin () const override |
| virtual SiDetectorElementCollection::const_iterator | getDetectorElementEnd () const override |
| virtual SiDetectorElementCollection::iterator | getDetectorElementBegin () override |
| virtual SiDetectorElementCollection::iterator | getDetectorElementEnd () override |
| virtual void | addDetectorElement (SiDetectorElement *element) override |
| Add elememts. | |
| virtual void | addAlignableTransform (int level, const Identifier &id, GeoAlignableTransform *xf, const GeoVFullPhysVol *child) |
| Add alignable transforms. | |
| virtual void | addAlignableTransform (int level, const Identifier &id, GeoAlignableTransform *xf, const GeoVPhysVol *child) |
| As above but does a dynamic_cast to GeoVFullPhysVol. | |
| virtual void | addAlignableTransform (int, const Identifier &, GeoAlignableTransform *) override |
| Add alignable transforms. | |
| virtual void | initNeighbours () override |
| Initialize the neighbours. | |
| virtual bool | isPixel () const override |
| Methods to query which manager we have. | |
| virtual bool | identifierBelongs (const Identifier &id) const override |
| Check identifier is for this detector. | |
| unsigned int | getBarrelLayers () const |
| Layers built. | |
| unsigned int | getEndcapLayers () const |
| Layers built. | |
| virtual const PixelModuleDesign * | getPixelDesign (int i) const |
| Access to module design, Casts to PixelModuleDesign. | |
| bool | processSpecialAlignment (const std::string &, InDetDD::AlignFolderType) override |
| Process new IBLDist DB folder. | |
| bool | processSpecialAlignment (const std::string &key, const CondAttrListCollection *obj=nullptr, GeoVAlignmentStore *alignStore=nullptr) const override |
| 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 std::string & | tag () const |
| Get tag used in dictionary. | |
| bool | isSCT () const |
| virtual void | invalidateAll () |
| Invalidate cache for all detector elements. | |
| virtual void | updateAll () const |
| Update all caches. | |
| const SiDetectorDesign * | addDesign (std::unique_ptr< const SiDetectorDesign > &&) |
| Access to module design; returns an observer pointer. | |
| int | numDesigns () const |
| const SiDetectorDesign * | getDesign (int i) const |
| const SiNumerology & | numerology () const |
| Access Numerology. | |
| SiNumerology & | numerology () |
| void | setCommonItems (std::unique_ptr< const SiCommonItems > &&commonItems) |
| Set SiCommonItems. | |
| const Version & | getVersion () const |
| Get version information. | |
| const std::string & | getLayout () const |
| void | setVersion (const Version &version) |
| void | addChannel (const std::string &key, int level, FrameType frame) |
| Alignment access. | |
| void | addFolder (const std::string &key) |
| void | addSpecialFolder (const std::string &key) |
| void | addGlobalFolder (const std::string &key) |
| void | addAlignFolderType (const AlignFolderType alignfolder) |
| StatusCode | align (IOVSVC_CALLBACK_ARGS) |
| StatusCode | align (const RawAlignmentObjects &alignObjects, GeoVAlignmentStore *alignStore) const |
| bool | msgLvl (const MSG::Level lvl) const |
| Test the output level. | |
| MsgStream & | msg () const |
| The standard message stream. | |
| MsgStream & | msg (const MSG::Level lvl) const |
| The standard message stream. | |
| void | setLevel (MSG::Level lvl) |
| Change the current logging level. | |
Static Public Member Functions | |
| static bool | setAlignableTransformGlobalDelta (ExtendedAlignableTransform *extXF, const Amg::Transform3D &delta, GeoVAlignmentStore *alignStore=nullptr) |
| Helper method to set delta transform from a global delta - Amg interface. | |
| 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. | |
Public Attributes | |
| AlignFolderType | m_alignfoldertype |
Protected Attributes | |
| StoreGateSvc * | m_detStore |
| std::atomic_bool | m_suppressWarnings |
Private Types | |
| typedef std::map< Identifier, std::unique_ptr< ExtendedAlignableTransform > > | AlignableTransformMap |
Private Member Functions | |
| 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 LocalDelta or GlobalDelta function of SiDetectorManager | |
| const PixelDetectorManager & | operator= (const PixelDetectorManager &right) |
| prevent copy and assignment | |
| PixelDetectorManager (const PixelDetectorManager &right) | |
| virtual const PixelID * | getIdHelper () const override |
| void | printTransform (MSG::Level level, const Amg::Transform3D &tr) const |
| const LevelInfo & | getLevel (const std::string &key) const |
| Retrieve level information. | |
| bool | processAlignmentContainer (const std::string &key) const |
| return align folder string to use | |
| bool | processAlignmentContainer (const AlignableTransformContainer *container, GeoVAlignmentStore *alignStore) const |
| bool | processKey (const std::string &key, const AlignableTransform *transformCollection, GeoVAlignmentStore *alignStore=nullptr) const |
| Called by processAlignmentContainer, applies only one key on the transform Collections. | |
| bool | processGlobalAlignmentContainer (const std::string &key, const CondAttrListCollection *obj=nullptr, GeoVAlignmentStore *alignStore=nullptr) const |
| void | initMessaging () const |
| Initialize our message level and MessageSvc. | |
Private Attributes | |
| std::vector< PVConstLink > | m_volume |
| SiDetectorElementCollection | m_elementCollection |
| std::vector< AlignableTransformMap > | m_higherAlignableTransforms |
| std::vector< std::unique_ptr< ExtendedAlignableTransform > > | m_alignableTransforms |
| const PixelID * | m_idHelper |
| bool | m_isLogical |
| This variable switches the how the local alignment corrections are applied If true they will be calcualted on top of all of other corrections but in the default reference frame If false they will be calcualted on top of all of other corrections but in the globally aligned reference frame. | |
| std::string | m_tag |
| SiNumerology | m_numerology |
| std::vector< std::unique_ptr< const SiDetectorDesign > > | m_designs |
| std::unique_ptr< const SiCommonItems > | m_commonItems |
| Version | m_version |
| std::map< std::string, LevelInfo > | m_keys |
| std::set< std::string > | m_folders |
| std::set< std::string > | m_specialFolders |
| std::set< std::string > | m_globalFolders |
| std::string | m_nm |
| Message source name. | |
| boost::thread_specific_ptr< MsgStream > | m_msg_tls |
| MsgStream instance (a std::cout like with print-out levels) | |
| std::atomic< IMessageSvc * > | m_imsg { nullptr } |
| MessageSvc pointer. | |
| std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
| Current logging level. | |
| std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
| Messaging initialized (initMessaging) | |
Static Private Attributes | |
| static const LevelInfo | s_invalidLevel |
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel information, access.
Definition at line 47 of file PixelDetectorManager.h.
|
private |
Definition at line 164 of file PixelDetectorManager.h.
| InDetDD::PixelDetectorManager::PixelDetectorManager | ( | StoreGateSvc * | detStore | ) |
Constructor.
Definition at line 63 of file PixelDetectorManager.cxx.
| InDetDD::PixelDetectorManager::PixelDetectorManager | ( | StoreGateSvc * | detStore, |
| const std::string & | name, | ||
| const std::string & | pixelIDName ) |
Constructor with name.
Definition at line 25 of file PixelDetectorManager.cxx.
|
private |
|
virtual |
Add alignable transforms.
No access to these, they will be changed by manager:
Definition at line 274 of file PixelDetectorManager.cxx.
|
virtual |
As above but does a dynamic_cast to GeoVFullPhysVol.
Definition at line 257 of file PixelDetectorManager.cxx.
|
inlineoverridevirtual |
Add alignable transforms.
No access to these, they will be changed by manager:
Implements InDetDD::SiDetectorManager.
Definition at line 101 of file PixelDetectorManager.h.
|
inherited |
Definition at line 81 of file InDetDetectorManager.cxx.
|
inherited |
Alignment access.
Definition at line 56 of file InDetDetectorManager.cxx.
|
inherited |
Access to module design; returns an observer pointer.
Definition at line 134 of file SiDetectorManager.cxx.
|
overridevirtual |
Add elememts.
Implements InDetDD::SiDetectorManager.
Definition at line 128 of file PixelDetectorManager.cxx.
|
inherited |
Definition at line 66 of file InDetDetectorManager.cxx.
|
inherited |
Definition at line 76 of file InDetDetectorManager.cxx.
|
inherited |
Definition at line 71 of file InDetDetectorManager.cxx.
| void InDetDD::PixelDetectorManager::addTreeTop | ( | const PVConstLink & | vol | ) |
Add a Tree top:
Definition at line 76 of file PixelDetectorManager.cxx.
|
inherited |
Definition at line 209 of file InDetDetectorManager.cxx.
|
inherited |
| unsigned int InDetDD::PixelDetectorManager::getBarrelLayers | ( | ) | const |
Layers built.
Deprecated. Recommend to access via numerology (see SiDetectorManager) Warning: decodes in "human-readable", e.g. using 3 out of 3 pixel layers yiels 111, the laset two out of 3 in 110, etc.
Definition at line 172 of file PixelDetectorManager.cxx.
|
inherited |
Definition at line 146 of file SiDetectorManager.cxx.
|
overridevirtual |
access to individual elements : via Identifier
Implements InDetDD::SiDetectorManager.
Definition at line 80 of file PixelDetectorManager.cxx.
|
overridevirtual |
access to individual elements : via IdentifierHash
Implements InDetDD::SiDetectorManager.
Definition at line 94 of file PixelDetectorManager.cxx.
| const SiDetectorElement * InDetDD::PixelDetectorManager::getDetectorElement | ( | int | barrel_endcap, |
| int | layer_wheel, | ||
| int | phi_module, | ||
| int | eta_module ) const |
access to individual elements : via element identification
Definition at line 99 of file PixelDetectorManager.cxx.
|
overridevirtual |
Implements InDetDD::SiDetectorManager.
Definition at line 109 of file PixelDetectorManager.cxx.
|
overridevirtual |
Implements InDetDD::SiDetectorManager.
Definition at line 118 of file PixelDetectorManager.cxx.
|
overridevirtual |
access to whole collection via Iterators
Implements InDetDD::SiDetectorManager.
Definition at line 104 of file PixelDetectorManager.cxx.
|
overridevirtual |
Implements InDetDD::SiDetectorManager.
Definition at line 114 of file PixelDetectorManager.cxx.
|
overridevirtual |
Implements InDetDD::SiDetectorManager.
Definition at line 123 of file PixelDetectorManager.cxx.
| unsigned int InDetDD::PixelDetectorManager::getEndcapLayers | ( | ) | const |
Layers built.
Deprecated. Recommend to access via numerology (see SiDetectorManager) Warning: decodes in "human-readable", e.g. using 3 out of 3 pixel layers yiels 111, the laset two out of 3 in 110, etc.
Definition at line 182 of file PixelDetectorManager.cxx.
|
overrideprivatevirtual |
Implements InDetDD::InDetDetectorManager.
Definition at line 167 of file PixelDetectorManager.cxx.
|
inherited |
Definition at line 38 of file InDetDetectorManager.cxx.
|
privateinherited |
Retrieve level information.
Definition at line 87 of file InDetDetectorManager.cxx.
|
overridevirtual |
Access to raw geometry:
Definition at line 66 of file PixelDetectorManager.cxx.
|
virtual |
Access to module design, Casts to PixelModuleDesign.
Definition at line 302 of file PixelDetectorManager.cxx.
|
overridevirtual |
Definition at line 71 of file PixelDetectorManager.cxx.
|
inherited |
Get version information.
Definition at line 33 of file InDetDetectorManager.cxx.
|
overridevirtual |
Check identifier is for this detector.
Implements InDetDD::InDetDetectorManager.
Definition at line 295 of file PixelDetectorManager.cxx.
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
|
overridevirtual |
Initialize the neighbours.
This can only be done when all elements are built.
Implements InDetDD::SiDetectorManager.
Definition at line 136 of file PixelDetectorManager.cxx.
|
virtualinherited |
Invalidate cache for all detector elements.
Implements InDetDD::InDetDetectorManager.
Definition at line 39 of file SiDetectorManager.cxx.
|
inlineoverridevirtual |
Methods to query which manager we have.
Implements InDetDD::SiDetectorManager.
Definition at line 110 of file PixelDetectorManager.h.
|
inlineinherited |
Definition at line 100 of file SiDetectorManager.h.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 163 of file AthMessaging.h.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 178 of file AthMessaging.h.
|
inlineinherited |
Test the output level.
| lvl | The message level to test against |
| true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
|
inherited |
Definition at line 140 of file SiDetectorManager.cxx.
|
inlineinherited |
Definition at line 129 of file SiDetectorManager.h.
|
inlineinherited |
|
private |
prevent copy and assignment
|
private |
Definition at line 663 of file PixelDetectorManager.cxx.
|
privateinherited |
Definition at line 303 of file InDetDetectorManager.cxx.
|
privateinherited |
return align folder string to use
Process the alignment container, calls processKey
Definition at line 275 of file InDetDetectorManager.cxx.
|
overridevirtual |
Process new global DB folders for L1 and L2.
Reimplemented from InDetDD::InDetDetectorManager.
Definition at line 577 of file PixelDetectorManager.cxx.
|
privateinherited |
Definition at line 391 of file InDetDetectorManager.cxx.
|
privateinherited |
Called by processAlignmentContainer, applies only one key on the transform Collections.
Definition at line 328 of file InDetDetectorManager.cxx.
|
overridevirtual |
Process new IBLDist DB folder.
Matthias D. (Oct. 2016): The idea of this first implementation is to get the AlignTransforms for IBL modules from their folder; Calculate from the new DB entries the Tx displacement for this module; Make a simple transfrom in local frame; Add the Tx to the aligntransform; Apply this new transform with the setAlignableTransformDelta() function; This is non-optimal as it simply overrides the previous Delta (these are included in total Delta); Possibly we could extend this in future to add tweak() functionality to GeoAlignableTransform?
Verbose level debug section for transforms
End of verbose level debug section
Implements InDetDD::InDetDetectorManager.
Definition at line 311 of file PixelDetectorManager.cxx.
|
overridevirtual |
Paul Gessinger (Jun 2019): For MT, we won't retrieve the underlying actual alignable transform container, since that's hard to come by. We loop over all detector elements, check if they match the detector elements we have IBL dist info for, retrieve the actual transform from the provided GeoAlignmentStore, and re-set it to the corrected value including IBL bowing.
The calculation of the bowing is taken from the non-MT implementation above.
Implements InDetDD::InDetDetectorManager.
Definition at line 453 of file PixelDetectorManager.cxx.
|
overrideprivatevirtual |
implements the main alignment update for delta transforms in different frames, it translates into the LocalDelta or GlobalDelta function of SiDetectorManager
Implements InDetDD::SiDetectorManager.
Definition at line 193 of file PixelDetectorManager.cxx.
|
staticinherited |
Helper method to set delta transform from a global delta - Amg interface.
Definition at line 101 of file SiDetectorManager.cxx.
|
staticinherited |
Helper method to set delta transform from a local delta - Amg interface.
Definition at line 62 of file SiDetectorManager.cxx.
|
inherited |
Definition at line 151 of file SiDetectorManager.cxx.
|
inherited |
Change the current logging level.
Use this rather than msg().setLevel() for proper operation with MT.
Definition at line 28 of file AthMessaging.cxx.
|
inherited |
Definition at line 43 of file InDetDetectorManager.cxx.
|
inherited |
|
virtualinherited |
Update all caches.
Implements InDetDD::InDetDetectorManager.
Definition at line 51 of file SiDetectorManager.cxx.
|
mutableprivateinherited |
Messaging initialized (initMessaging)
Definition at line 141 of file AthMessaging.h.
|
private |
Definition at line 166 of file PixelDetectorManager.h.
|
inherited |
Definition at line 96 of file InDetDetectorManager.h.
|
privateinherited |
Definition at line 151 of file SiDetectorManager.h.
|
privateinherited |
Definition at line 150 of file SiDetectorManager.h.
|
protectedinherited |
Definition at line 99 of file InDetDetectorManager.h.
|
private |
Definition at line 163 of file PixelDetectorManager.h.
|
privateinherited |
Definition at line 182 of file InDetDetectorManager.h.
|
privateinherited |
Definition at line 184 of file InDetDetectorManager.h.
|
private |
Definition at line 165 of file PixelDetectorManager.h.
|
private |
Definition at line 167 of file PixelDetectorManager.h.
|
mutableprivateinherited |
|
private |
This variable switches the how the local alignment corrections are applied If true they will be calcualted on top of all of other corrections but in the default reference frame If false they will be calcualted on top of all of other corrections but in the globally aligned reference frame.
Definition at line 178 of file PixelDetectorManager.h.
|
privateinherited |
Definition at line 181 of file InDetDetectorManager.h.
|
mutableprivateinherited |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
|
privateinherited |
Message source name.
Definition at line 129 of file AthMessaging.h.
|
privateinherited |
Definition at line 149 of file SiDetectorManager.h.
|
privateinherited |
Definition at line 183 of file InDetDetectorManager.h.
|
mutableprotectedinherited |
Definition at line 100 of file InDetDetectorManager.h.
|
privateinherited |
Definition at line 148 of file SiDetectorManager.h.
|
privateinherited |
Definition at line 180 of file InDetDetectorManager.h.
|
private |
Definition at line 162 of file PixelDetectorManager.h.
|
staticprivateinherited |
Definition at line 186 of file InDetDetectorManager.h.