![]() |
ATLAS Offline Software
|
Implementation of the class MaterialMapper. More...
#include <MaterialMapper.h>
Public Member Functions | |
| MaterialMapper (const std::string &, const std::string &, const IInterface *) | |
| AlgTool like constructor. | |
| virtual | ~MaterialMapper () |
| Virtual destructor. | |
| StatusCode | initialize () |
| AlgTool initialize method. | |
| StatusCode | finalize () |
| AlgTool finalize method. | |
| void | recordMaterialHit (const AssociatedMaterial &amhit, const Amg::Vector3D &projectedPosition) const |
| Record material hit along the recording. | |
| void | recordLayerHit (const AssociatedMaterial &amhit, bool full=false) const |
| Record material hit - if various hits per uniform layer are recorded, or if you want to record one full hit. | |
| void | recordSurfaceHit (const Amg::Vector2D &locpos, const AssociatedMaterial &amhit) const |
| Record material hit on a surface. | |
| void | handle (const Incident &inc) |
| Handle the incident from the incident service. | |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
| DeclareInterfaceID (IMaterialMapper, 1, 0) | |
| Creates the InterfaceID and interfaceID() method. | |
Protected Member Functions | |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
| void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. | |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| void | finalizeVolumeHits (bool mapped=true) const |
| Finalize the Volume Steps. | |
| void | finalizeLayerHits () const |
| Finalize the SingleLayer Steps. | |
| void | finalizeSurfaceHits () const |
| Finalize the SingleLayer Steps. | |
| void | bookValidationTree () |
| Validation : book the Tree. | |
| VolumeTreeObject * | volumeTreeObject (const Layer *lay=0, const TrackingVolume *tvol=0) const |
| find (&&,||) create a VolumeTreObject | |
| LayerTreeObject * | layerTreeObject (const Layer &lay, bool full=false) const |
| find (&&,||) create the LayerTreeObject | |
| SurfaceTreeObject * | surfaceTreeObject (const Layer &lay) const |
| find (&&,||) create the LayerTreeObject | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| ServiceHandle< IIncidentSvc > | m_incidentSvc |
| ServiceHandle< ITHistSvc > | m_histSvc |
| Gaudi::Property< unsigned int > | m_maxMappingEvents |
| unsigned int | m_processedEvents = 0 |
| TTree * | m_validationTree = nullptr |
| The validation tree. | |
| Gaudi::Property< std::string > | m_validationTreeName |
| Gaudi::Property< std::string > | m_validationTreeDescription |
| Gaudi::Property< std::string > | m_validationTreeFolder |
| int | m_materialSteps = 0 |
| number of update positions | |
| float | m_averageEta {} |
| average eta | |
| float | m_averagePhi {} |
| average ogu | |
| float | m_mappedPath {} |
| total mapped path | |
| float | m_mappedPathInX0 {} |
| total mapped path in X0 | |
| float | m_mappedPathInL0 {} |
| total mapped path in L0 | |
| float | m_mappedPathRho {} |
| total mapped path times rho | |
| float | m_mappedPathZARho {} |
| total mapped path times (Z/A)*rho | |
| float | m_unmappedPathInX0 {} |
| total path in x0 in these events lost | |
| int | m_mapped [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| mapped or not mapped | |
| float | m_materialAccumPathInX0 [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| accumulated path length in x0 | |
| float | m_materialAccumPathZARho [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| accumulated path length times (Z/A)*rho | |
| float | m_materialStepPath [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| step path | |
| float | m_materialStepX0 [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| step x0 | |
| float | m_materialStepL0 [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| step l0 | |
| float | m_materialStepZ [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| step Z | |
| float | m_materialStepA [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| step A | |
| float | m_materialStepRho [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| step rho | |
| float | m_materialStepPositionX [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| x position of the material recording | |
| float | m_materialStepPositionY [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| y position of the material recording | |
| float | m_materialStepPositionZ [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| z position of the material recording | |
| float | m_materialStepPositionR [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| r value of the material recording | |
| float | m_materialProjPositionX [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| x position of the material recording when assigned to layer | |
| float | m_materialProjPositionY [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| y position of the material recording when assigned to layer | |
| float | m_materialProjPositionZ [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| z position of the material recording when assigned to layer | |
| float | m_materialProjPositionR [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| r value of the material recording when assigned to layer | |
| float | m_materialProjDistance [TRKDETDESCRTOOLS_MAXSTEPS] {} |
| the distance to the projected hit | |
| Gaudi::Property< bool > | m_volumeValidation {this, "TrackingVolumeValidation", true} |
| Gaudi::Property< std::string > | m_volumeTreePrefix {this, "TrackingVolumeTreePrefix", "VolumeMaterial"} |
| std::map< const Trk::TrackingVolume *, VolumeTreeObject * > | m_volumeTrees |
| std::map< const Trk::TrackingVolume *, VolumeTreeObject * > | m_volumeTreesUnmapped |
| Gaudi::Property< bool > | m_layerValidation {this, "DetailedLayerValidation", true} |
| Gaudi::Property< std::string > | m_layerTreePrefix {this, "DetailedLayerTreePrefix", "LayerMaterial_"} |
| std::map< const Trk::Layer *, LayerTreeObject * > | m_layerTrees |
| std::map< const Trk::Layer *, LayerTreeObject * > | m_layerFullTrees |
| Gaudi::Property< bool > | m_surfaceValidation {this, "DetailedSurfaceValidation", true} |
| Gaudi::Property< std::string > | m_surfaceTreePrefix {this, "DetailedSurfaceTreePrefix", "SurfaceMaterial_"} |
| std::map< const Trk::Layer *, SurfaceTreeObject * > | m_surfaceTrees |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default). | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default). | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
Implementation of the class MaterialMapper.
The correct material mapping can only be done with stiff tracks as the finalizeEvent method requires an eta,phi bin!
Definition at line 204 of file MaterialMapper.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| Trk::MaterialMapper::MaterialMapper | ( | const std::string & | t, |
| const std::string & | n, | ||
| const IInterface * | p ) |
AlgTool like constructor.
Definition at line 19 of file MaterialMapper.cxx.
|
virtual |
Virtual destructor.
Definition at line 28 of file MaterialMapper.cxx.
|
private |
Validation : book the Tree.
Definition at line 576 of file MaterialMapper.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inherited |
Creates the InterfaceID and interfaceID() method.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
| StatusCode Trk::MaterialMapper::finalize | ( | ) |
AlgTool finalize method.
Definition at line 74 of file MaterialMapper.cxx.
|
private |
Finalize the SingleLayer Steps.
Definition at line 254 of file MaterialMapper.cxx.
|
private |
Finalize the SingleLayer Steps.
Definition at line 341 of file MaterialMapper.cxx.
|
private |
Finalize the Volume Steps.
Definition at line 166 of file MaterialMapper.cxx.
| void Trk::MaterialMapper::handle | ( | const Incident & | inc | ) |
Handle the incident from the incident service.
Definition at line 543 of file MaterialMapper.cxx.
| StatusCode Trk::MaterialMapper::initialize | ( | ) |
AlgTool initialize method.
Definition at line 58 of file MaterialMapper.cxx.
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
private |
find (&&,||) create the LayerTreeObject
Definition at line 434 of file MaterialMapper.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
virtual |
Record material hit - if various hits per uniform layer are recorded, or if you want to record one full hit.
Implements Trk::IMaterialMapper.
Definition at line 199 of file MaterialMapper.cxx.
|
virtual |
Record material hit along the recording.
Implements Trk::IMaterialMapper.
Definition at line 80 of file MaterialMapper.cxx.
|
virtual |
Record material hit on a surface.
Implements Trk::IMaterialMapper.
Definition at line 310 of file MaterialMapper.cxx.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
private |
find (&&,||) create the LayerTreeObject
Definition at line 501 of file MaterialMapper.cxx.
|
overridevirtualinherited |
Perform system initialization for an algorithm.
We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.
Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, and AthCheckedComponent<::AthAlgTool >.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
find (&&,||) create a VolumeTreObject
Definition at line 385 of file MaterialMapper.cxx.
|
mutableprivate |
|
mutableprivate |
|
privateinherited |
Pointer to StoreGate (detector store by default).
Definition at line 393 of file AthCommonDataStore.h.
|
privateinherited |
Pointer to StoreGate (event store by default).
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Definition at line 261 of file MaterialMapper.h.
|
private |
Definition at line 260 of file MaterialMapper.h.
|
mutableprivate |
Definition at line 324 of file MaterialMapper.h.
|
private |
Definition at line 321 of file MaterialMapper.h.
|
mutableprivate |
Definition at line 323 of file MaterialMapper.h.
|
private |
Definition at line 320 of file MaterialMapper.h.
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
r value of the material recording when assigned to layer
Definition at line 308 of file MaterialMapper.h.
|
mutableprivate |
x position of the material recording when assigned to layer
Definition at line 305 of file MaterialMapper.h.
|
mutableprivate |
y position of the material recording when assigned to layer
Definition at line 306 of file MaterialMapper.h.
|
mutableprivate |
z position of the material recording when assigned to layer
Definition at line 307 of file MaterialMapper.h.
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
number of update positions
Definition at line 283 of file MaterialMapper.h.
|
mutableprivate |
|
mutableprivate |
|
private |
Definition at line 264 of file MaterialMapper.h.
|
mutableprivate |
Definition at line 267 of file MaterialMapper.h.
|
private |
Definition at line 329 of file MaterialMapper.h.
|
mutableprivate |
Definition at line 331 of file MaterialMapper.h.
|
private |
Definition at line 327 of file MaterialMapper.h.
|
mutableprivate |
|
private |
The validation tree.
Definition at line 270 of file MaterialMapper.h.
|
private |
Definition at line 274 of file MaterialMapper.h.
|
private |
Definition at line 277 of file MaterialMapper.h.
|
private |
Definition at line 271 of file MaterialMapper.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.
|
private |
Definition at line 314 of file MaterialMapper.h.
|
mutableprivate |
Definition at line 316 of file MaterialMapper.h.
|
mutableprivate |
Definition at line 317 of file MaterialMapper.h.
|
private |
Definition at line 312 of file MaterialMapper.h.