ATLAS Offline Software
BeamPipeBuilderImpl.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INDETTRACKINGGEOMETRY_BEAMPIPEBUILDERIMPL_H
6 #define INDETTRACKINGGEOMETRY_BEAMPIPEBUILDERIMPL_H
7 
8 // Athena
10 // Gaudi
11 #include "GaudiKernel/SystemOfUnits.h"
12 // STL
13 #include <vector>
14 
15 namespace Trk {
16  class CylinderLayer;
17  class DiscLayer;
18  class PlaneLayer;
19 }
20 
22 
23 namespace InDet {
24 
40 
41 
42  public:
44  virtual ~BeamPipeBuilderImpl() = default;
45 
47  virtual StatusCode initialize() override;
48 
49  protected:
51  BeamPipeBuilderImpl(const std::string& t, const std::string& n, const IInterface* p) :
52  AthAlgTool(t,n,p) { }
53 
54  std::unique_ptr<const std::vector<Trk::CylinderLayer*> > cylindricalLayersImpl() const;
55  BooleanProperty m_beamPipeFromDb{this, "BeamPipeFromGeoModel", true};
57  StringProperty m_beamPipeMgrName{this, "BeamPipeManager", "BeamPipe"};
58  DoubleProperty m_beamPipeEnvelope{this, "BeamPipeEnvelope", 1.*Gaudi::Units::mm};
59 
60  DoubleProperty m_beamPipeOffsetX{this, "BeamPipeOffsetX", 0.*Gaudi::Units::mm};
61  DoubleProperty m_beamPipeOffsetY{this, "BeamPipeOffsetY", 0.*Gaudi::Units::mm};
62  DoubleProperty m_beamPipeRadius{this, "BeamPipeRadius", 33.1*Gaudi::Units::mm};
63  DoubleProperty m_beamPipeHalflength{this, "BeamPipeHalflength", 2.7*Gaudi::Units::m};
64  DoubleProperty m_beamPipeThickness{this, "BeamPipeThickness", 1.*Gaudi::Units::mm};
65  DoubleProperty m_beamPipeX0{this, "BeamPipeX0", 352.8*Gaudi::Units::mm};
67  //DoubleProperty m_beamPipedEdX{this, , 0.2945*Gaudi::Units::MeV/Gaudi::Units::mm}; //!< dEdX of the beam pipe
68  DoubleProperty m_beamPipeA{this, "BeamPipeAverageA", 9.012};
69  DoubleProperty m_beamPipeZ{this, "BeamPipeAverageZ", 4.};
70  DoubleProperty m_beamPipeRho{this, "BeamPipeAverageRho", 1.848e-3};
71 
72  UnsignedIntegerProperty m_beamPipeBinsZ{this, "BeamPipeMaterialBinsZ", 1};
73 
74  StringProperty m_identification{this, "Identification", "BeamPipe"};
75 
76 
77  };
78 
79 } // end of namespace
80 
81 
82 #endif // INDETTRACKINGGEOMETRY_BEAMPIPEBUILDERIMPL_H
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
InDet::BeamPipeBuilderImpl::m_beamPipeMgrName
StringProperty m_beamPipeMgrName
the name of the beam pipe manager to be configured
Definition: BeamPipeBuilderImpl.h:57
InDet::BeamPipeBuilderImpl::m_beamPipeRho
DoubleProperty m_beamPipeRho
averageRho of the beam pipe
Definition: BeamPipeBuilderImpl.h:70
InDet::BeamPipeBuilderImpl::cylindricalLayersImpl
std::unique_ptr< const std::vector< Trk::CylinderLayer * > > cylindricalLayersImpl() const
Definition: BeamPipeBuilderImpl.cxx:35
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::BeamPipeBuilderImpl::m_beamPipeThickness
DoubleProperty m_beamPipeThickness
thickness of the beam pipe
Definition: BeamPipeBuilderImpl.h:64
InDet::BeamPipeBuilderImpl::m_beamPipeL0
double m_beamPipeL0
X0 of the beam pipe.
Definition: BeamPipeBuilderImpl.h:66
InDet::BeamPipeBuilderImpl::m_beamPipeX0
DoubleProperty m_beamPipeX0
X0 of the beam pipe.
Definition: BeamPipeBuilderImpl.h:65
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
InDet::BeamPipeBuilderImpl::m_beamPipeMgr
const BeamPipeDetectorManager * m_beamPipeMgr
the beam pipe manager
Definition: BeamPipeBuilderImpl.h:56
InDet::BeamPipeBuilderImpl
Definition: BeamPipeBuilderImpl.h:39
InDet::BeamPipeBuilderImpl::m_beamPipeHalflength
DoubleProperty m_beamPipeHalflength
halflength of the beampipe
Definition: BeamPipeBuilderImpl.h:63
InDet::BeamPipeBuilderImpl::m_identification
StringProperty m_identification
string identification
Definition: BeamPipeBuilderImpl.h:74
InDet::BeamPipeBuilderImpl::m_beamPipeOffsetY
DoubleProperty m_beamPipeOffsetY
beam pipe offset in y
Definition: BeamPipeBuilderImpl.h:61
InDet::BeamPipeBuilderImpl::m_beamPipeRadius
DoubleProperty m_beamPipeRadius
radius of the beam pipe
Definition: BeamPipeBuilderImpl.h:62
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
InDet::BeamPipeBuilderImpl::m_beamPipeOffsetX
DoubleProperty m_beamPipeOffsetX
beam pipe offset in x
Definition: BeamPipeBuilderImpl.h:60
InDet::BeamPipeBuilderImpl::m_beamPipeEnvelope
DoubleProperty m_beamPipeEnvelope
radial envelope when taking the Top volume radius
Definition: BeamPipeBuilderImpl.h:58
InDet::BeamPipeBuilderImpl::m_beamPipeZ
DoubleProperty m_beamPipeZ
averageZ of the beam pipe
Definition: BeamPipeBuilderImpl.h:69
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
InDet::BeamPipeBuilderImpl::BeamPipeBuilderImpl
BeamPipeBuilderImpl(const std::string &t, const std::string &n, const IInterface *p)
Constructor.
Definition: BeamPipeBuilderImpl.h:51
InDet::BeamPipeBuilderImpl::~BeamPipeBuilderImpl
virtual ~BeamPipeBuilderImpl()=default
Destructor.
InDet::BeamPipeBuilderImpl::m_beamPipeFromDb
BooleanProperty m_beamPipeFromDb
steer beam pipe parameters from DataBase
Definition: BeamPipeBuilderImpl.h:55
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
InDet::BeamPipeBuilderImpl::m_beamPipeA
DoubleProperty m_beamPipeA
averageA of the beam pipe
Definition: BeamPipeBuilderImpl.h:68
InDet::BeamPipeBuilderImpl::initialize
virtual StatusCode initialize() override
AlgTool initialize method.
Definition: BeamPipeBuilderImpl.cxx:25
AthAlgTool
Definition: AthAlgTool.h:26
BeamPipeDetectorManager
Definition: BeamPipeDetectorManager.h:14
InDet::BeamPipeBuilderImpl::m_beamPipeBinsZ
UnsignedIntegerProperty m_beamPipeBinsZ
number of bins in the beam pipe
Definition: BeamPipeBuilderImpl.h:72