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.
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