ATLAS Offline Software
Loading...
Searching...
No Matches
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
24namespace Trk
25{
26
27 class Surface;
28 class TrackingVolume;
29 class TrackingGeometry;
30
38
40 {
41 public:
42
44 CETmaterial(const std::string& name, ISvcLocator* pSvcLocator);
47
49 StatusCode initialize();
51 StatusCode execute();
53 StatusCode finalize();
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;
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
#define M_PI
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
void printMat(double th, double ph, double mat, double dtheta=0., double dphi=0.) const
BooleanProperty m_backward
Definition CETmaterial.h:85
StatusCode initialize()
standard Athena-Algorithm method
BooleanProperty m_domsentry
Definition CETmaterial.h:86
CETmaterial(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
Amg::MatrixX * m_err
Definition CETmaterial.h:94
const Trk::TrackingGeometry * m_trackingGeometry
Definition CETmaterial.h:97
StatusCode finalize()
standard Athena-Algorithm method
IntegerProperty m_particleType
void printMatPrec(double theta, double phi, const Trk::TrackParameters *, const Trk::TrackParameters *, double mat, int id, const std::string &name)
const char * m_matCompFile
Definition CETmaterial.h:83
BooleanProperty m_doprecision
Definition CETmaterial.h:87
DoubleProperty m_charge
Definition CETmaterial.h:74
void printMatScan(double theta, double phi, double r, double z, double mat, const std::string &name) const
IChronoStatSvc_t m_chronoStatSvc
DoubleProperty m_minP
Definition CETmaterial.h:72
const char * m_matTotFile
Definition CETmaterial.h:80
BooleanProperty m_printActive
Definition CETmaterial.h:78
~CETmaterial()
Default Destructor.
DoubleProperty m_minZ0
Definition CETmaterial.h:68
BooleanProperty m_checkStepWise
Definition CETmaterial.h:76
ToolHandle< IExtrapolator > m_extraprec
Definition CETmaterial.h:66
UnsignedIntegerProperty m_numScan
Definition CETmaterial.h:75
DoubleProperty m_maxP
Definition CETmaterial.h:73
const Trk::Surface * m_outerBoundary
Definition CETmaterial.h:96
const char * m_matScanFile
Definition CETmaterial.h:81
StatusCode execute()
standard Athena-Algorithm method
Trk::TrackParameters * m_next
Definition CETmaterial.h:93
BooleanProperty m_printMaterial
Definition CETmaterial.h:77
void printMatComp(double theta, double phi, const Trk::TrackParameters *currPar, const std::string &name, double mat, double matApp, double dx, double dy) const
DoubleProperty m_minTheta
Definition CETmaterial.h:70
DoubleProperty m_maxTheta
Definition CETmaterial.h:71
const Trk::TrackingVolume * m_msentry
Definition CETmaterial.h:98
ToolHandle< IExtrapolator > m_extrapolator
The Extrapolator(s) to be retrieved.
Definition CETmaterial.h:64
ServiceHandle< IChronoStatSvc > IChronoStatSvc_t
DoubleProperty m_maxZ0
Definition CETmaterial.h:69
const char * m_matActiveFile
Definition CETmaterial.h:82
Abstract Base Class for tracking surfaces.
Definition Surface.h:79
The TrackingGeometry class is the owner of the constructed TrackingVolumes.
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
int r
Definition globals.cxx:22
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Ensure that the ATLAS eigen extensions are properly loaded.
@ z
global position (cartesian)
Definition ParamDefs.h:57
@ theta
Definition ParamDefs.h:66
@ phi
Definition ParamDefs.h:75
ParametersBase< TrackParametersDim, Charged > TrackParameters