![]() |
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 |
| int | m_materialAssociationType |
| unsigned int | m_maxMappingEvents |
| unsigned int | m_processedEvents |
| std::string | m_totalMaterialTree |
| TTree * | m_validationTree |
| The validation tree. | |
| std::string | m_validationTreeName |
| validation tree name - to be accessed by this from root | |
| std::string | m_validationTreeDescription |
| validation tree description - second argument in TTree | |
| std::string | m_validationTreeFolder |
| stream/folder to for the TTree to be written out | |
| int | m_materialSteps |
| 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 | |
| bool | m_volumeValidation |
| std::string | m_volumeTreePrefix |
| std::map< const Trk::TrackingVolume *, VolumeTreeObject * > | m_volumeTrees |
| std::map< const Trk::TrackingVolume *, VolumeTreeObject * > | m_volumeTreesUnmapped |
| bool | m_layerValidation |
| std::string | m_layerTreePrefix |
| std::map< const Trk::Layer *, LayerTreeObject * > | m_layerTrees |
| std::map< const Trk::Layer *, LayerTreeObject * > | m_layerFullTrees |
| bool | m_surfaceValidation |
| std::string | m_surfaceTreePrefix |
| 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 20 of file MaterialMapper.cxx.
|
virtual |
Virtual destructor.
Definition at line 68 of file MaterialMapper.cxx.
|
private |
Validation : book the Tree.
Definition at line 616 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 114 of file MaterialMapper.cxx.
|
private |
Finalize the SingleLayer Steps.
Definition at line 294 of file MaterialMapper.cxx.
|
private |
Finalize the SingleLayer Steps.
Definition at line 381 of file MaterialMapper.cxx.
|
private |
Finalize the Volume Steps.
Definition at line 206 of file MaterialMapper.cxx.
| void Trk::MaterialMapper::handle | ( | const Incident & | inc | ) |
Handle the incident from the incident service.
Definition at line 583 of file MaterialMapper.cxx.
| StatusCode Trk::MaterialMapper::initialize | ( | ) |
AlgTool initialize method.
Definition at line 98 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 474 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 239 of file MaterialMapper.cxx.
|
virtual |
Record material hit along the recording.
Implements Trk::IMaterialMapper.
Definition at line 120 of file MaterialMapper.cxx.
|
virtual |
Record material hit on a surface.
Implements Trk::IMaterialMapper.
Definition at line 350 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 541 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 >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.
|
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 425 of file MaterialMapper.cxx.
|
mutableprivate |
average eta
Definition at line 280 of file MaterialMapper.h.
|
mutableprivate |
average ogu
Definition at line 281 of file MaterialMapper.h.
|
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 317 of file MaterialMapper.h.
|
private |
Definition at line 315 of file MaterialMapper.h.
|
mutableprivate |
Definition at line 316 of file MaterialMapper.h.
|
private |
Definition at line 314 of file MaterialMapper.h.
|
mutableprivate |
|
mutableprivate |
total mapped path
Definition at line 282 of file MaterialMapper.h.
|
mutableprivate |
total mapped path in L0
Definition at line 284 of file MaterialMapper.h.
|
mutableprivate |
total mapped path in X0
Definition at line 283 of file MaterialMapper.h.
|
mutableprivate |
total mapped path times rho
Definition at line 285 of file MaterialMapper.h.
|
mutableprivate |
total mapped path times (Z/A)*rho
Definition at line 286 of file MaterialMapper.h.
|
mutableprivate |
|
mutableprivate |
|
private |
Definition at line 263 of file MaterialMapper.h.
|
mutableprivate |
|
mutableprivate |
r value of the material recording when assigned to layer
Definition at line 304 of file MaterialMapper.h.
|
mutableprivate |
x position of the material recording when assigned to layer
Definition at line 301 of file MaterialMapper.h.
|
mutableprivate |
y position of the material recording when assigned to layer
Definition at line 302 of file MaterialMapper.h.
|
mutableprivate |
z position of the material recording when assigned to layer
Definition at line 303 of file MaterialMapper.h.
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
number of update positions
Definition at line 279 of file MaterialMapper.h.
|
mutableprivate |
|
mutableprivate |
|
private |
Definition at line 266 of file MaterialMapper.h.
|
mutableprivate |
Definition at line 267 of file MaterialMapper.h.
|
private |
Definition at line 321 of file MaterialMapper.h.
|
mutableprivate |
Definition at line 322 of file MaterialMapper.h.
|
private |
Definition at line 320 of file MaterialMapper.h.
|
private |
Definition at line 269 of file MaterialMapper.h.
|
mutableprivate |
total path in x0 in these events lost
Definition at line 287 of file MaterialMapper.h.
|
private |
The validation tree.
Definition at line 272 of file MaterialMapper.h.
|
private |
validation tree description - second argument in TTree
Definition at line 274 of file MaterialMapper.h.
|
private |
stream/folder to for the TTree to be written out
Definition at line 275 of file MaterialMapper.h.
|
private |
validation tree name - to be accessed by this from root
Definition at line 273 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 309 of file MaterialMapper.h.
|
mutableprivate |
Definition at line 310 of file MaterialMapper.h.
|
mutableprivate |
Definition at line 311 of file MaterialMapper.h.
|
private |
Definition at line 308 of file MaterialMapper.h.