ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsMonitoring
src
ExtrapolationTestAlg.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ACTSGEOMETRY_ACTSEXTRAPOLATIONALG_H
6
#define ACTSGEOMETRY_ACTSEXTRAPOLATIONALG_H
7
8
// ATHENA
9
#include "
AthenaBaseComps/AthHistogramAlgorithm.h
"
10
#include "
CxxUtils/checker_macros.h
"
11
12
#include "
GeoPrimitives/GeoPrimitives.h
"
14
#include "
ActsGeometryInterfaces/ITrackingGeometrySvc.h
"
15
#include "
ActsGeometryInterfaces/IExtrapolationTool.h
"
16
#include "
ActsGeometry/RecordedMaterialTrackCollection.h
"
17
18
// ACTS
19
#include "Acts/Geometry/GeometryIdentifier.hpp"
20
#include "
MuonTesterTree/MuonTesterTree.h
"
21
22
#include "
AthenaKernel/IAthRNGSvc.h
"
23
#include "
AthenaKernel/RNGWrapper.h
"
24
25
// STL
26
#include <memory>
27
#include <vector>
28
#include <fstream>
29
#include <mutex>
30
31
32
namespace
Acts
{
33
class
TrackingGeometry;
34
namespace
detail
{
35
struct
Step;
36
}
37
}
38
39
40
class
EventContext;
41
class
IAthRNGSvc
;
42
43
44
namespace
ActsTrk
{
45
class
ExtrapolationTestAlg
:
public
AthHistogramAlgorithm
{
46
public
:
47
using
AthHistogramAlgorithm::AthHistogramAlgorithm
;
48
virtual
StatusCode
initialize
()
override
;
49
virtual
StatusCode
execute
(
const
EventContext& ctx)
override
;
50
virtual
StatusCode
finalize
()
override
;
51
52
private
:
53
using
StepVector
= std::vector<Acts::detail::Step>;
54
StatusCode
writePropagationSteps
(
const
EventContext& ctx,
const
StepVector
& steps);
55
56
ServiceHandle<IAthRNGSvc>
m_rndmGenSvc
{
this
,
"AthRNGSvc"
,
"AthRNGSvc"
};
57
58
ToolHandle<ActsTrk::IExtrapolationTool>
m_extrapolationTool
{
this
,
"ExtrapolationTool"
,
"ActsExtrapolationTool"
};
59
60
ServiceHandle<ActsTrk::ITrackingGeometrySvc>
m_trackingGeometrySvc
{
this
,
"TrackingGeometrySvc"
,
"ActsTrackingGeometrySvc"
};
61
62
// poor-mans Particle Gun is included here right now
63
Gaudi::Property<std::vector<double>>
m_etaRange
{
this
,
"EtaRange"
, {-3, 3},
"The eta range for particles"
};
64
Gaudi::Property<std::vector<double>>
m_ptRange
{
this
,
"PtRange"
, {0.1, 1000},
"The pt range for particles"
};
65
Gaudi::Property<size_t>
m_nParticlePerEvent
{
this
,
"NParticlesPerEvent"
, 10,
"The number of particles per event"
};
66
67
// material track writer for the material map validation
68
Gaudi::Property<bool>
m_writeMaterialTracks
{
this
,
"WriteMaterialTracks"
,
false
,
"Write material track"
};
69
Gaudi::Property<bool>
m_writePropStep
{
this
,
"WritePropStep"
,
false
,
"Write propagation step"
};
70
72
SG::WriteHandleKey<ActsTrk::RecordedMaterialTrackCollection>
m_materialTrackCollectionKey
{
this
,
"MaterialTrackCollectionKey"
,
"MaterialTracks"
,
"Name of the RecordedMaterialTrackCollection"
};
73
74
75
MuonVal::MuonTesterTree
m_tree
{
"propsteps"
,
"ActsExtrapolationRecord"
};
76
77
78
MuonVal::ScalarBranch<int>
&
m_eventNum
{
m_tree
.newScalar<
int
>(
"event_nr"
)};
80
MuonVal::VectorBranch<float>
&
m_s_pX
{
m_tree
.newVector<
float
>(
"step_x"
)};
82
MuonVal::VectorBranch<float>
&
m_s_pY
{
m_tree
.newVector<
float
>(
"step_y"
)};
84
MuonVal::VectorBranch<float>
&
m_s_pZ
{
m_tree
.newVector<
float
>(
"step_z"
)};
86
MuonVal::VectorBranch<float>
&
m_s_pR
{
m_tree
.newVector<
float
>(
"step_r"
)};
87
88
MuonVal::VectorBranch<int>
&
m_s_volumeID
{
m_tree
.newVector<
int
>(
"volume_id"
)};
89
MuonVal::VectorBranch<int>
&
m_s_boundaryID
{
m_tree
.newVector<
int
>(
"boundary_id"
)};
90
MuonVal::VectorBranch<int>
&
m_s_layerID
{
m_tree
.newVector<
int
>(
"layer_id"
)};
91
MuonVal::VectorBranch<int>
&
m_s_approachID
{
m_tree
.newVector<
int
>(
"approach_id"
)};
92
MuonVal::VectorBranch<int>
&
m_s_sensitiveID
{
m_tree
.newVector<
int
>(
"sensitive_id"
)};
93
94
};
95
}
96
#endif
// ActsGeometry_ActsExtrapolation_h
ITrackingGeometrySvc.h
AthHistogramAlgorithm.h
GeoPrimitives.h
IAthRNGSvc.h
IExtrapolationTool.h
MuonTesterTree.h
RNGWrapper.h
RecordedMaterialTrackCollection.h
checker_macros.h
Define macros for attributes used to control the static checker.
ActsTrk::ExtrapolationTestAlg
Definition
ExtrapolationTestAlg.h:45
ActsTrk::ExtrapolationTestAlg::m_trackingGeometrySvc
ServiceHandle< ActsTrk::ITrackingGeometrySvc > m_trackingGeometrySvc
Definition
ExtrapolationTestAlg.h:60
ActsTrk::ExtrapolationTestAlg::m_s_pZ
MuonVal::VectorBranch< float > & m_s_pZ
Global z position of the step.
Definition
ExtrapolationTestAlg.h:84
ActsTrk::ExtrapolationTestAlg::m_etaRange
Gaudi::Property< std::vector< double > > m_etaRange
Definition
ExtrapolationTestAlg.h:63
ActsTrk::ExtrapolationTestAlg::m_writePropStep
Gaudi::Property< bool > m_writePropStep
Definition
ExtrapolationTestAlg.h:69
ActsTrk::ExtrapolationTestAlg::m_s_approachID
MuonVal::VectorBranch< int > & m_s_approachID
approach identification
Definition
ExtrapolationTestAlg.h:91
ActsTrk::ExtrapolationTestAlg::m_nParticlePerEvent
Gaudi::Property< size_t > m_nParticlePerEvent
Definition
ExtrapolationTestAlg.h:65
ActsTrk::ExtrapolationTestAlg::m_s_boundaryID
MuonVal::VectorBranch< int > & m_s_boundaryID
boundary identification
Definition
ExtrapolationTestAlg.h:89
ActsTrk::ExtrapolationTestAlg::execute
virtual StatusCode execute(const EventContext &ctx) override
Execute method.
Definition
ExtrapolationTestAlg.cxx:49
ActsTrk::ExtrapolationTestAlg::m_s_sensitiveID
MuonVal::VectorBranch< int > & m_s_sensitiveID
sensitive identification
Definition
ExtrapolationTestAlg.h:92
ActsTrk::ExtrapolationTestAlg::m_ptRange
Gaudi::Property< std::vector< double > > m_ptRange
Definition
ExtrapolationTestAlg.h:64
ActsTrk::ExtrapolationTestAlg::m_s_pX
MuonVal::VectorBranch< float > & m_s_pX
Global x position of the step.
Definition
ExtrapolationTestAlg.h:80
ActsTrk::ExtrapolationTestAlg::finalize
virtual StatusCode finalize() override
Definition
ExtrapolationTestAlg.cxx:45
ActsTrk::ExtrapolationTestAlg::m_tree
MuonVal::MuonTesterTree m_tree
Definition
ExtrapolationTestAlg.h:75
ActsTrk::ExtrapolationTestAlg::m_extrapolationTool
ToolHandle< ActsTrk::IExtrapolationTool > m_extrapolationTool
Definition
ExtrapolationTestAlg.h:58
ActsTrk::ExtrapolationTestAlg::m_s_layerID
MuonVal::VectorBranch< int > & m_s_layerID
layer identification
Definition
ExtrapolationTestAlg.h:90
ActsTrk::ExtrapolationTestAlg::m_writeMaterialTracks
Gaudi::Property< bool > m_writeMaterialTracks
Definition
ExtrapolationTestAlg.h:68
ActsTrk::ExtrapolationTestAlg::m_s_pY
MuonVal::VectorBranch< float > & m_s_pY
Global y position of the step.
Definition
ExtrapolationTestAlg.h:82
ActsTrk::ExtrapolationTestAlg::AthHistogramAlgorithm
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Definition
AthHistogramAlgorithm.cxx:31
ActsTrk::ExtrapolationTestAlg::StepVector
std::vector< Acts::detail::Step > StepVector
Definition
ExtrapolationTestAlg.h:53
ActsTrk::ExtrapolationTestAlg::m_eventNum
MuonVal::ScalarBranch< int > & m_eventNum
Definition
ExtrapolationTestAlg.h:78
ActsTrk::ExtrapolationTestAlg::m_materialTrackCollectionKey
SG::WriteHandleKey< ActsTrk::RecordedMaterialTrackCollection > m_materialTrackCollectionKey
The RecordedMaterialTrackCollection to write.
Definition
ExtrapolationTestAlg.h:72
ActsTrk::ExtrapolationTestAlg::writePropagationSteps
StatusCode writePropagationSteps(const EventContext &ctx, const StepVector &steps)
Definition
ExtrapolationTestAlg.cxx:136
ActsTrk::ExtrapolationTestAlg::m_s_pR
MuonVal::VectorBranch< float > & m_s_pR
Global radial position of the step sqrt(x^{2} + y^{2}).
Definition
ExtrapolationTestAlg.h:86
ActsTrk::ExtrapolationTestAlg::initialize
virtual StatusCode initialize() override
Definition
ExtrapolationTestAlg.cxx:33
ActsTrk::ExtrapolationTestAlg::m_rndmGenSvc
ServiceHandle< IAthRNGSvc > m_rndmGenSvc
Definition
ExtrapolationTestAlg.h:56
ActsTrk::ExtrapolationTestAlg::m_s_volumeID
MuonVal::VectorBranch< int > & m_s_volumeID
volume identification
Definition
ExtrapolationTestAlg.h:88
AthHistogramAlgorithm::AthHistogramAlgorithm
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Definition
AthHistogramAlgorithm.cxx:31
IAthRNGSvc
manage multiple RandomEngines in thread-safe way.
Definition
IAthRNGSvc.h:28
MuonVal::MuonTesterTree
Definition
MuonTesterTree.h:38
MuonVal::ScalarBranch
Definition
ScalarBranch.h:12
MuonVal::VectorBranch
Definition
VectorBranch.h:14
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
ServiceHandle
Definition
ClusterMakerTool.h:36
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
Acts
This class is not to needed in AthSimulation.
Definition
MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/xAODMuonPrepData/UtilFunctions.h:23
detail
Definition
extract_histogram_tag.cxx:14
Generated on
for ATLAS Offline Software by
1.17.0