Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
CETmaterial.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 // CETmaterial.h, (c) ATLAS Detector software
8 
9 #ifndef TRKEXALGS_CETMATERIAL_H
10 #define TRKEXALGS_CETMATERIAL_H
11 
12 // Gaudi includes
14 #include "GaudiKernel/IRndmGenSvc.h"
15 #include "GaudiKernel/RndmGenerators.h"
16 #include "GaudiKernel/ToolHandle.h"
17 #include "GaudiKernel/IChronoStatSvc.h"
18 #include "GaudiKernel/SystemOfUnits.h"
20 #include <string>
21 
23 
24 namespace Trk
25 {
26 
27  class Surface;
28  class TrackingVolume;
29  class TrackingGeometry;
30 
39  class CETmaterial : public AthAlgorithm
40  {
41  public:
42 
44  CETmaterial(const std::string& name, ISvcLocator* pSvcLocator);
46  ~CETmaterial();
47 
54 
55  private:
56  void printMat(double th, double ph, double mat,double dtheta=0.,double dphi=0.) const;
57  void printMatScan(double theta, double phi, double r, double z, double mat, const std::string& name) const;
58  void printMatPrec(double theta, double phi, const Trk::TrackParameters*, const Trk::TrackParameters*,
59  double mat, int id, const std::string& name);
60  void printMatComp(double theta, double phi, const Trk::TrackParameters* currPar, const std::string& name, double mat, double matApp,double dx, double dy) const;
61 
63  ToolHandle<IExtrapolator> m_extrapolator
64  {this, "Extrapolator", "Trk::Extrapolator/AtlasExtrapolator"};
65  ToolHandle<IExtrapolator> m_extraprec
66  {this, "ExtraExtrapolator", "Trk::Extrapolator/MuonExtrapolator"};
67 
68  DoubleProperty m_minZ0{this, "StartPerigeeMinZ0", 0.};
69  DoubleProperty m_maxZ0{this, "StartPerigeeMaxZ0", 0.};
70  DoubleProperty m_minTheta{this, "StartPerigeeMinTheta", 0.};
71  DoubleProperty m_maxTheta{this, "StartPerigeeMaxTheta", M_PI};
72  DoubleProperty m_minP{this, "StartPerigeeMinP", 50000*Gaudi::Units::GeV};
73  DoubleProperty m_maxP{this, "StartPerigeeMaxP", 50000*Gaudi::Units::GeV};
74  DoubleProperty m_charge{this, "StartPerigeeCharge", 1.};
75  UnsignedIntegerProperty m_numScan{this, "NumberOfScanTracks", 10};
76  BooleanProperty m_checkStepWise{this, "CheckActiveLayers", false};
77  BooleanProperty m_printMaterial{this, "PrintMaterial", false};
78  BooleanProperty m_printActive{this, "PrintActivePos", false};
79 
80  const char* m_matTotFile = "material.txt";
81  const char* m_matScanFile = "material_scan.txt";
82  const char* m_matActiveFile = "mat_active.txt";
83  const char* m_matCompFile = "material_comp.txt";
84 
85  BooleanProperty m_backward{this, "CheckBackward", false};
86  BooleanProperty m_domsentry{this, "CheckMSentry", false};
87  BooleanProperty m_doprecision{this, "CheckPrecision", false};
88 
89  double m_th = 0.;
90  double m_ph = 0.;
91  int m_id = 0;
92  double m_matSaved = 0.;
94  Amg::MatrixX* m_err = nullptr;
95 
96  const Trk::Surface* m_outerBoundary = nullptr;
98  const Trk::TrackingVolume* m_msentry = nullptr;
99 
100  IntegerProperty m_particleType{this, "ParticleType", Trk::muon,
101  "the particle type for the extrap."};
102 
105 
106  };
107 } // end of namespace
108 
109 #endif
Trk::CETmaterial::CETmaterial
CETmaterial(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
Definition: CETmaterial.cxx:24
beamspotman.r
def r
Definition: beamspotman.py:676
Trk::CETmaterial::finalize
StatusCode finalize()
standard Athena-Algorithm method
Definition: CETmaterial.cxx:62
Trk::CETmaterial::m_id
int m_id
Definition: CETmaterial.h:91
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:17
Trk::CETmaterial::~CETmaterial
~CETmaterial()
Default Destructor.
Definition: CETmaterial.cxx:32
Trk::CETmaterial::IChronoStatSvc_t
ServiceHandle< IChronoStatSvc > IChronoStatSvc_t
Definition: CETmaterial.h:103
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:27
Trk::CETmaterial::m_ph
double m_ph
Definition: CETmaterial.h:90
TrackParameters.h
Trk::CETmaterial::m_printMaterial
BooleanProperty m_printMaterial
Definition: CETmaterial.h:77
Trk::z
@ z
global position (cartesian)
Definition: ParamDefs.h:57
Trk::CETmaterial::m_charge
DoubleProperty m_charge
Definition: CETmaterial.h:74
Trk::CETmaterial::printMatComp
void printMatComp(double theta, double phi, const Trk::TrackParameters *currPar, const std::string &name, double mat, double matApp, double dx, double dy) const
Definition: CETmaterial.cxx:421
mat
GeoMaterial * mat
Definition: LArDetectorConstructionTBEC.cxx:55
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
M_PI
#define M_PI
Definition: ActiveFraction.h:11
Trk::CETmaterial::m_next
Trk::TrackParameters * m_next
Definition: CETmaterial.h:93
Trk::CETmaterial::m_matScanFile
const char * m_matScanFile
Definition: CETmaterial.h:81
IExtrapolator.h
Trk::CETmaterial::m_domsentry
BooleanProperty m_domsentry
Definition: CETmaterial.h:86
Trk::CETmaterial::printMatPrec
void printMatPrec(double theta, double phi, const Trk::TrackParameters *, const Trk::TrackParameters *, double mat, int id, const std::string &name)
Definition: CETmaterial.cxx:355
AthAlgorithm.h
Trk::CETmaterial::printMat
void printMat(double th, double ph, double mat, double dtheta=0., double dphi=0.) const
Definition: CETmaterial.cxx:340
Trk::CETmaterial::m_trackingGeometry
const Trk::TrackingGeometry * m_trackingGeometry
Definition: CETmaterial.h:97
Trk::CETmaterial::m_outerBoundary
const Trk::Surface * m_outerBoundary
Definition: CETmaterial.h:96
Trk::CETmaterial::m_minTheta
DoubleProperty m_minTheta
Definition: CETmaterial.h:70
python.TriggerHandler.th
th
Definition: TriggerHandler.py:296
Trk::CETmaterial::m_maxTheta
DoubleProperty m_maxTheta
Definition: CETmaterial.h:71
Trk::CETmaterial::m_minZ0
DoubleProperty m_minZ0
Definition: CETmaterial.h:68
Trk::CETmaterial::m_matCompFile
const char * m_matCompFile
Definition: CETmaterial.h:83
Trk::theta
@ theta
Definition: ParamDefs.h:66
Trk::TrackingGeometry
Definition: TrackingGeometry.h:67
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::CETmaterial::m_numScan
UnsignedIntegerProperty m_numScan
Definition: CETmaterial.h:75
Trk::CETmaterial::execute
StatusCode execute()
standard Athena-Algorithm method
Definition: CETmaterial.cxx:73
Trk::CETmaterial::printMatScan
void printMatScan(double theta, double phi, double r, double z, double mat, const std::string &name) const
Definition: CETmaterial.cxx:348
Trk::CETmaterial::m_err
Amg::MatrixX * m_err
Definition: CETmaterial.h:94
Trk::CETmaterial::m_chronoStatSvc
IChronoStatSvc_t m_chronoStatSvc
Definition: CETmaterial.h:104
Trk::ParametersBase
Definition: ParametersBase.h:55
Trk::CETmaterial::m_msentry
const Trk::TrackingVolume * m_msentry
Definition: CETmaterial.h:98
Trk::muon
@ muon
Definition: ParticleHypothesis.h:28
Trk::CETmaterial::m_particleType
IntegerProperty m_particleType
Definition: CETmaterial.h:100
AthAlgorithm
Definition: AthAlgorithm.h:47
Trk::CETmaterial::m_checkStepWise
BooleanProperty m_checkStepWise
Definition: CETmaterial.h:76
Trk::CETmaterial::m_minP
DoubleProperty m_minP
Definition: CETmaterial.h:72
Trk::CETmaterial::m_th
double m_th
Definition: CETmaterial.h:89
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
Trk::CETmaterial
Definition: CETmaterial.h:40
Trk::CETmaterial::m_printActive
BooleanProperty m_printActive
Definition: CETmaterial.h:78
Trk::CETmaterial::m_doprecision
BooleanProperty m_doprecision
Definition: CETmaterial.h:87
Trk::CETmaterial::m_maxP
DoubleProperty m_maxP
Definition: CETmaterial.h:73
makeTRTBarrelCans.dy
tuple dy
Definition: makeTRTBarrelCans.py:21
Trk::CETmaterial::m_matSaved
double m_matSaved
Definition: CETmaterial.h:92
Trk::CETmaterial::m_backward
BooleanProperty m_backward
Definition: CETmaterial.h:85
makeTRTBarrelCans.dx
tuple dx
Definition: makeTRTBarrelCans.py:20
Trk::CETmaterial::m_extrapolator
ToolHandle< IExtrapolator > m_extrapolator
The Extrapolator(s) to be retrieved.
Definition: CETmaterial.h:64
Trk::CETmaterial::m_matActiveFile
const char * m_matActiveFile
Definition: CETmaterial.h:82
Trk::phi
@ phi
Definition: ParamDefs.h:75
Trk::CETmaterial::initialize
StatusCode initialize()
standard Athena-Algorithm method
Definition: CETmaterial.cxx:40
Trk::CETmaterial::m_matTotFile
const char * m_matTotFile
Definition: CETmaterial.h:80
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Trk::TrackingVolume
Definition: TrackingVolume.h:121
Trk::CETmaterial::m_maxZ0
DoubleProperty m_maxZ0
Definition: CETmaterial.h:69
ServiceHandle< IChronoStatSvc >
Trk::CETmaterial::m_extraprec
ToolHandle< IExtrapolator > m_extraprec
Definition: CETmaterial.h:66