Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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
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 
25 
26 namespace Trk
27 {
28 
29  class Surface;
30  class MagneticFieldProperties;
47  {
48  public:
49 
51  ExtrapolatorTest(const std::string& name, ISvcLocator* pSvcLocator);
54 
61 
62  private:
63 
64  void runTest( const Trk::Perigee& perigee );
65 
67 
69  ToolHandle<IExtrapolator> m_extrapolator
70  {this, "Extrapolator", "Trk::Extrapolator/AtlasExtrapolator"};
71  PublicToolHandle<IPropagator> m_propagator
72  {this, "Propagator", "Trk::RungeKuttaPropagator/RungeKuttaPropagator"};
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 
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
Trk::ExtrapolatorTest::m_referenceSurfaceNegativeBoundary
std::vector< double > m_referenceSurfaceNegativeBoundary
Definition: ExtrapolatorTest.h:105
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:17
TrackParameters.h
Trk::ExtrapolatorTest::m_minP
DoubleProperty m_minP
Definition: ExtrapolatorTest.h:88
Trk::MagneticFieldProperties
Definition: MagneticFieldProperties.h:31
Trk::ExtrapolatorTest::m_referenceSurfacePositiveBoundary
std::vector< double > m_referenceSurfacePositiveBoundary
Definition: ExtrapolatorTest.h:106
Trk::ExtrapolatorTest::m_gaussDist
Rndm::Numbers * m_gaussDist
Random Number setup.
Definition: ExtrapolatorTest.h:76
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
Trk::ExtrapolatorTest::finalize
StatusCode finalize()
standard Athena-Algorithm method
Definition: ExtrapolatorTest.cxx:91
Trk::ExtrapolatorTest::runTest
void runTest(const Trk::Perigee &perigee)
Definition: ExtrapolatorTest.cxx:122
Trk::ExtrapolatorTest::m_useExtrapolator
BooleanProperty m_useExtrapolator
Definition: ExtrapolatorTest.h:111
Trk::ExtrapolatorTest::m_maxP
DoubleProperty m_maxP
Definition: ExtrapolatorTest.h:90
Trk::ExtrapolatorTest::m_direction
IntegerProperty m_direction
Definition: ExtrapolatorTest.h:92
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
M_PI
#define M_PI
Definition: ActiveFraction.h:11
IExtrapolator.h
IPropagator.h
Trk::ExtrapolatorTest::execute
StatusCode execute()
standard Athena-Algorithm method
Definition: ExtrapolatorTest.cxx:113
Trk::ExtrapolatorTest::m_referenceSurfaces
unsigned int m_referenceSurfaces
member variables for algorithm properties:
Definition: ExtrapolatorTest.h:97
Trk::ExtrapolatorTest::generatePerigee
Trk::Perigee generatePerigee()
Definition: ExtrapolatorTest.cxx:97
AthAlgorithm.h
Trk::ExtrapolatorTest::~ExtrapolatorTest
~ExtrapolatorTest()
Default Destructor.
Definition: ExtrapolatorTest.cxx:26
Trk::ExtrapolatorTest::m_minPhi
DoubleProperty m_minPhi
Definition: ExtrapolatorTest.h:83
Trk::ExtrapolatorTest::m_sigmaZ0
DoubleProperty m_sigmaZ0
Definition: ExtrapolatorTest.h:82
Trk::ExtrapolatorTest::initialize
StatusCode initialize()
standard Athena-Algorithm method
Definition: ExtrapolatorTest.cxx:41
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::ExtrapolatorTest::m_eventsPerExecute
IntegerProperty m_eventsPerExecute
Definition: ExtrapolatorTest.h:110
python.SystemOfUnits.micrometer
int micrometer
Definition: SystemOfUnits.py:71
Trk::ExtrapolatorTest::m_propagator
PublicToolHandle< IPropagator > m_propagator
Definition: ExtrapolatorTest.h:72
AthAlgorithm
Definition: AthAlgorithm.h:47
Trk::ExtrapolatorTest::m_perigees
std::vector< Trk::Perigee > m_perigees
Definition: ExtrapolatorTest.h:108
Trk::ExtrapolatorTest::m_referenceSurfaceHalflength
DoubleArrayProperty m_referenceSurfaceHalflength
Definition: ExtrapolatorTest.h:102
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::ExtrapolatorTest::ExtrapolatorTest
ExtrapolatorTest(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
Definition: ExtrapolatorTest.cxx:21
Trk::ExtrapolatorTest::m_maxPhi
DoubleProperty m_maxPhi
Definition: ExtrapolatorTest.h:84
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
Trk::ExtrapolatorTest::m_sigmaD0
DoubleProperty m_sigmaD0
Definition: ExtrapolatorTest.h:80
Trk::ExtrapolatorTest::m_maxEta
DoubleProperty m_maxEta
Definition: ExtrapolatorTest.h:86
Trk::ExtrapolatorTest
Definition: ExtrapolatorTest.h:47
Trk::ExtrapolatorTest::m_particleType
IntegerProperty m_particleType
Definition: ExtrapolatorTest.h:94
Trk::ExtrapolatorTest::m_flatDist
Rndm::Numbers * m_flatDist
Definition: ExtrapolatorTest.h:77
Trk::ExtrapolatorTest::m_minEta
DoubleProperty m_minEta
Definition: ExtrapolatorTest.h:85
Trk::ExtrapolatorTest::m_extrapolator
ToolHandle< IExtrapolator > m_extrapolator
The Extrapolator to be retrieved.
Definition: ExtrapolatorTest.h:70
Trk::ExtrapolatorTest::m_referenceSurfaceTriples
std::vector< std::vector< const Surface * > > m_referenceSurfaceTriples
Definition: ExtrapolatorTest.h:103
Trk::ExtrapolatorTest::m_magFieldProperties
MagneticFieldProperties * m_magFieldProperties
magnetic field properties
Definition: ExtrapolatorTest.h:73
Trk::ExtrapolatorTest::m_referenceSurfaceRadius
DoubleArrayProperty m_referenceSurfaceRadius
Definition: ExtrapolatorTest.h:100