ATLAS Offline Software
Loading...
Searching...
No Matches
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
15namespace Trk {
16 class CylinderLayer;
17 class DiscLayer;
18 class PlaneLayer;
19}
20
22
23namespace 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};
66 double m_beamPipeL0{407.*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
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
StringProperty m_beamPipeMgrName
the name of the beam pipe manager to be configured
UnsignedIntegerProperty m_beamPipeBinsZ
number of bins in the beam pipe
DoubleProperty m_beamPipeThickness
thickness of the beam pipe
DoubleProperty m_beamPipeZ
averageZ of the beam pipe
DoubleProperty m_beamPipeHalflength
halflength of the beampipe
DoubleProperty m_beamPipeA
averageA of the beam pipe
DoubleProperty m_beamPipeRadius
radius of the beam pipe
DoubleProperty m_beamPipeOffsetY
beam pipe offset in y
double m_beamPipeL0
X0 of the beam pipe.
StringProperty m_identification
string identification
std::unique_ptr< const std::vector< Trk::CylinderLayer * > > cylindricalLayersImpl() const
DoubleProperty m_beamPipeRho
averageRho of the beam pipe
const BeamPipeDetectorManager * m_beamPipeMgr
the beam pipe manager
virtual ~BeamPipeBuilderImpl()=default
Destructor.
virtual StatusCode initialize() override
AlgTool initialize method.
DoubleProperty m_beamPipeOffsetX
beam pipe offset in x
BooleanProperty m_beamPipeFromDb
steer beam pipe parameters from DataBase
BeamPipeBuilderImpl(const std::string &t, const std::string &n, const IInterface *p)
Constructor.
DoubleProperty m_beamPipeEnvelope
radial envelope when taking the Top volume radius
DoubleProperty m_beamPipeX0
X0 of the beam pipe.
Class to describe a cylindrical detector layer for tracking, it inhertis from both,...
Class to describe a disc-like detector layer for tracking, it inhertis from both, Layer base class an...
Definition DiscLayer.h:45
Class to describe a planar detector layer for tracking, it inhertis from both, Layer base class and P...
Definition PlaneLayer.h:40
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.