ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkExtrapolation
TrkExAlgs
TrkExAlgs
ExtrapolatorTest.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// ExtrapolatorTest.h, (c) ATLAS Detector software
8
9
#ifndef TRKEXALGS_TRKEXTRAPOLATORTEST_H
10
#define TRKEXALGS_TRKEXTRAPOLATORTEST_H
11
12
// Gaudi includes
13
#include "
AthenaBaseComps/AthAlgorithm.h
"
14
#include "GaudiKernel/MsgStream.h"
15
#include "GaudiKernel/IRndmGenSvc.h"
16
#include "GaudiKernel/RndmGenerators.h"
17
#include "GaudiKernel/ToolHandle.h"
18
#include "GaudiKernel/SystemOfUnits.h"
19
#include <string>
20
#include <vector>
21
22
#include "
TrkParameters/TrackParameters.h
"
23
#include "
TrkExInterfaces/IExtrapolator.h
"
24
#include "
TrkExInterfaces/IPropagator.h
"
25
26
namespace
Trk
27
{
28
29
class
Surface
;
30
class
MagneticFieldProperties
;
45
46
class
ExtrapolatorTest
:
public
AthAlgorithm
47
{
48
public
:
49
51
ExtrapolatorTest
(
const
std::string& name, ISvcLocator* pSvcLocator);
53
~ExtrapolatorTest
();
54
56
StatusCode
initialize
();
58
StatusCode
execute
(
const
EventContext& ctx);
60
StatusCode
finalize
();
61
62
private
:
63
64
void
runTest
(
const
EventContext& ctx,
const
Trk::Perigee
& perigee );
65
66
Trk::Perigee
generatePerigee
();
67
69
ToolHandle<IExtrapolator>
m_extrapolator
70
{
this
,
"Extrapolator"
,
"Trk::Extrapolator/AtlasExtrapolator"
};
71
PublicToolHandle<IPropagator>
m_propagator
72
{
this
,
"Propagator"
,
"Trk::RungeKuttaPropagator/RungeKuttaPropagator"
};
73
MagneticFieldProperties
*
m_magFieldProperties
=
nullptr
;
74
76
Rndm::Numbers*
m_gaussDist
=
nullptr
;
77
Rndm::Numbers*
m_flatDist
=
nullptr
;
78
79
DoubleProperty
m_sigmaD0
80
{
this
,
"StartPerigeeSigmaD0"
, 17.*Gaudi::Units::micrometer};
81
DoubleProperty
m_sigmaZ0
82
{
this
,
"StartPerigeeSigmaZ0"
, 50.*Gaudi::Units::micrometer};
83
DoubleProperty
m_minPhi
{
this
,
"StartPerigeeMinPhi"
, -
M_PI
};
84
DoubleProperty
m_maxPhi
{
this
,
"StartPerigeeMaxPhi"
,
M_PI
};
85
DoubleProperty
m_minEta
{
this
,
"StartPerigeeMinEta"
, -3.};
86
DoubleProperty
m_maxEta
{
this
,
"StartPerigeeMaxEta"
, 3.};
87
DoubleProperty
m_minP
88
{
this
,
"StartPerigeeMinP"
, 0.5*Gaudi::Units::GeV};
89
DoubleProperty
m_maxP
90
{
this
,
"StartPerigeeMaxP"
, 50000*Gaudi::Units::GeV};
91
92
IntegerProperty
m_direction
{
this
,
"StartDirection"
, 1};
93
IntegerProperty
m_particleType
94
{
this
,
"ParticleType"
, 2,
"the particle type for the extrap."
};
95
97
unsigned
int
m_referenceSurfaces
= 0;
98
99
DoubleArrayProperty
m_referenceSurfaceRadius
100
{
this
,
"ReferenceSurfaceRadius"
, {}};
101
DoubleArrayProperty
m_referenceSurfaceHalflength
102
{
this
,
"ReferenceSurfaceHalfZ"
, {}};
103
std::vector< std::vector<const Surface*> >
m_referenceSurfaceTriples
;
104
105
std::vector<double>
m_referenceSurfaceNegativeBoundary
;
106
std::vector<double>
m_referenceSurfacePositiveBoundary
;
107
108
std::vector<Trk::Perigee>
m_perigees
;
109
110
IntegerProperty
m_eventsPerExecute
{
this
,
"EventsPerExecute"
, -1};
111
BooleanProperty
m_useExtrapolator
{
this
,
"UseExtrapolator"
,
false
};
112
};
113
}
// end of namespace
114
115
#endif
M_PI
#define M_PI
Definition
ActiveFraction.h:14
AthAlgorithm.h
IExtrapolator.h
IPropagator.h
TrackParameters.h
AthAlgorithm::AthAlgorithm
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthAlgorithm.cxx:10
Trk::ExtrapolatorTest::m_gaussDist
Rndm::Numbers * m_gaussDist
Random Number setup.
Definition
ExtrapolatorTest.h:76
Trk::ExtrapolatorTest::m_extrapolator
ToolHandle< IExtrapolator > m_extrapolator
The Extrapolator to be retrieved.
Definition
ExtrapolatorTest.h:70
Trk::ExtrapolatorTest::initialize
StatusCode initialize()
standard Athena-Algorithm method
Definition
ExtrapolatorTest.cxx:41
Trk::ExtrapolatorTest::ExtrapolatorTest
ExtrapolatorTest(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
Definition
ExtrapolatorTest.cxx:21
Trk::ExtrapolatorTest::m_sigmaD0
DoubleProperty m_sigmaD0
Definition
ExtrapolatorTest.h:80
Trk::ExtrapolatorTest::m_referenceSurfaceRadius
DoubleArrayProperty m_referenceSurfaceRadius
Definition
ExtrapolatorTest.h:100
Trk::ExtrapolatorTest::m_maxEta
DoubleProperty m_maxEta
Definition
ExtrapolatorTest.h:86
Trk::ExtrapolatorTest::~ExtrapolatorTest
~ExtrapolatorTest()
Default Destructor.
Definition
ExtrapolatorTest.cxx:26
Trk::ExtrapolatorTest::m_particleType
IntegerProperty m_particleType
Definition
ExtrapolatorTest.h:94
Trk::ExtrapolatorTest::execute
StatusCode execute(const EventContext &ctx)
standard Athena-Algorithm method
Definition
ExtrapolatorTest.cxx:113
Trk::ExtrapolatorTest::m_maxP
DoubleProperty m_maxP
Definition
ExtrapolatorTest.h:90
Trk::ExtrapolatorTest::m_magFieldProperties
MagneticFieldProperties * m_magFieldProperties
magnetic field properties
Definition
ExtrapolatorTest.h:73
Trk::ExtrapolatorTest::m_referenceSurfaceNegativeBoundary
std::vector< double > m_referenceSurfaceNegativeBoundary
Definition
ExtrapolatorTest.h:105
Trk::ExtrapolatorTest::m_referenceSurfaces
unsigned int m_referenceSurfaces
member variables for algorithm properties:
Definition
ExtrapolatorTest.h:97
Trk::ExtrapolatorTest::m_minEta
DoubleProperty m_minEta
Definition
ExtrapolatorTest.h:85
Trk::ExtrapolatorTest::m_propagator
PublicToolHandle< IPropagator > m_propagator
Definition
ExtrapolatorTest.h:72
Trk::ExtrapolatorTest::generatePerigee
Trk::Perigee generatePerigee()
Definition
ExtrapolatorTest.cxx:97
Trk::ExtrapolatorTest::m_eventsPerExecute
IntegerProperty m_eventsPerExecute
Definition
ExtrapolatorTest.h:110
Trk::ExtrapolatorTest::m_sigmaZ0
DoubleProperty m_sigmaZ0
Definition
ExtrapolatorTest.h:82
Trk::ExtrapolatorTest::m_direction
IntegerProperty m_direction
Definition
ExtrapolatorTest.h:92
Trk::ExtrapolatorTest::m_minPhi
DoubleProperty m_minPhi
Definition
ExtrapolatorTest.h:83
Trk::ExtrapolatorTest::m_maxPhi
DoubleProperty m_maxPhi
Definition
ExtrapolatorTest.h:84
Trk::ExtrapolatorTest::m_perigees
std::vector< Trk::Perigee > m_perigees
Definition
ExtrapolatorTest.h:108
Trk::ExtrapolatorTest::runTest
void runTest(const EventContext &ctx, const Trk::Perigee &perigee)
Definition
ExtrapolatorTest.cxx:122
Trk::ExtrapolatorTest::m_minP
DoubleProperty m_minP
Definition
ExtrapolatorTest.h:88
Trk::ExtrapolatorTest::m_useExtrapolator
BooleanProperty m_useExtrapolator
Definition
ExtrapolatorTest.h:111
Trk::ExtrapolatorTest::m_referenceSurfaceTriples
std::vector< std::vector< const Surface * > > m_referenceSurfaceTriples
Definition
ExtrapolatorTest.h:103
Trk::ExtrapolatorTest::m_flatDist
Rndm::Numbers * m_flatDist
Definition
ExtrapolatorTest.h:77
Trk::ExtrapolatorTest::finalize
StatusCode finalize()
standard Athena-Algorithm method
Definition
ExtrapolatorTest.cxx:91
Trk::ExtrapolatorTest::m_referenceSurfaceHalflength
DoubleArrayProperty m_referenceSurfaceHalflength
Definition
ExtrapolatorTest.h:102
Trk::ExtrapolatorTest::m_referenceSurfacePositiveBoundary
std::vector< double > m_referenceSurfacePositiveBoundary
Definition
ExtrapolatorTest.h:106
Trk::MagneticFieldProperties
magnetic field properties to steer the behavior of the extrapolation
Definition
MagneticFieldProperties.h:31
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::Perigee
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:33
Generated on
for ATLAS Offline Software by
1.17.0