|
ATLAS Offline Software
|
Go to the documentation of this file.
21 #include "GeoModelKernel/GeoTube.h"
32 return StatusCode::SUCCESS;
37 auto beamPipe = std::make_unique<std::vector<Trk::CylinderLayer*> >();
41 beamPipeTransform.setIdentity();
54 beamPipeTopVolume->getX().translation().y(),
55 beamPipeTopVolume->getX().translation().z());
56 const GeoLogVol* beamPipeLogVolume = beamPipeTopVolume->getLogVol();
57 const GeoTube* beamPipeTube =
nullptr;
58 if (beamPipeLogVolume) {
61 beamPipeTube =
dynamic_cast<const GeoTube*
>(beamPipeLogVolume->getShape());
63 for(
unsigned int i=0;
i<beamPipeTopVolume->getNChildVols();
i++) {
64 if(beamPipeTopVolume->getNameOfChildVol(
i)==
"SectionC03"){
65 PVConstLink childTopVolume = beamPipeTopVolume->getChildVol(
i);
66 const GeoLogVol* childLogVolume = childTopVolume->getLogVol();
67 const GeoTube* childTube =
nullptr;
69 childTube =
dynamic_cast<const GeoTube*
>(childLogVolume->getShape());
71 beamPipeRadius = 0.5 * (childTube->getRMax()+childTube->getRMin());
79 ATH_MSG_VERBOSE(
"BeamPipe constructed from Database: translation (yes) - radius "<< ( beamPipeTube ?
"(yes)" :
"(no)") <<
" - r = " << beamPipeRadius );
85 << beamPipeTransform.translation().x() <<
", "
86 << beamPipeTransform.translation().y() <<
","
87 << beamPipeTransform.translation().y());
90 ATH_MSG_VERBOSE(
"BeamPipe bounds constructed as : " << (*beamPipeBounds) );
106 beamPipeLayerMaterial,
114 beamPipeLayerMaterial,
117 beamPipe->push_back(pThisCylinderLayer);
def retrieve(aClass, aKey=None)
StringProperty m_beamPipeMgrName
the name of the beam pipe manager to be configured
DoubleProperty m_beamPipeRho
averageRho of the beam pipe
std::unique_ptr< const std::vector< Trk::CylinderLayer * > > cylindricalLayersImpl() const
virtual unsigned int getNumTreeTops() const
DoubleProperty m_beamPipeThickness
thickness of the beam pipe
double m_beamPipeL0
X0 of the beam pipe.
DoubleProperty m_beamPipeX0
X0 of the beam pipe.
#define ATH_MSG_VERBOSE(x)
const BeamPipeDetectorManager * m_beamPipeMgr
the beam pipe manager
DoubleProperty m_beamPipeHalflength
halflength of the beampipe
virtual PVConstLink getTreeTop(unsigned int i) const
@ u
Enums for curvilinear frames.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
DoubleProperty m_beamPipeOffsetY
beam pipe offset in y
DoubleProperty m_beamPipeRadius
radius of the beam pipe
::StatusCode StatusCode
StatusCode definition for legacy code.
Eigen::Affine3d Transform3D
DoubleProperty m_beamPipeOffsetX
beam pipe offset in x
DoubleProperty m_beamPipeZ
averageZ of the beam pipe
BooleanProperty m_beamPipeFromDb
steer beam pipe parameters from DataBase
DoubleProperty m_beamPipeA
averageA of the beam pipe
Eigen::Translation< double, 3 > Translation3D
virtual StatusCode initialize() override
AlgTool initialize method.
UnsignedIntegerProperty m_beamPipeBinsZ
number of bins in the beam pipe