5#ifndef CALORIMETER_CALOTRACKINGGEOMETRYBUILDERIMPL_H
6#define CALORIMETER_CALOTRACKINGGEOMETRYBUILDERIMPL_H
11#include "GaudiKernel/ServiceHandle.h"
12#include "GaudiKernel/ToolHandle.h"
13#include "GaudiKernel/SystemOfUnits.h"
75 PublicToolHandle<Trk::ITrackingVolumeArrayCreator>
m_trackingVolumeArrayCreator{
this,
"TrackingVolumeArrayCreator",
"Trk::TrackingVolumeArrayCreator/TrackingVolumeArrayCreator"};
77 PublicToolHandle<Trk::ITrackingVolumeCreator>
m_trackingVolumeCreator{
this,
"TrackingVolumeCreator",
"Trk::CylinderVolumeCreator/TrackingVolumeCreator"};
79 PublicToolHandle<Trk::ICaloTrackingVolumeBuilder>
m_lArVolumeBuilder{
this,
"LArVolumeBuilder",
"LAr::LArVolumeBuilder/LArVolumeBuilder"};
81 PublicToolHandle<Trk::ICaloTrackingVolumeBuilder>
m_tileVolumeBuilder{
this,
"TileVolumeBuilder",
"Tile::TileVolumeBuilder/TileVolumeBuilder"};
90 DoubleProperty
m_caloEnvelope{
this,
"GapLayerEnvelope", 25 * Gaudi::Units::mm};
111 StringProperty
m_entryVolume{
this,
"EntryVolumeName",
"Calo::Container::EntryVolume"};
112 StringProperty
m_exitVolume{
this,
"ExitVolumeName",
"Calo::Container"};
123 const RZPairVector& bpCutouts,
float,
float,
const std::string&,
Definition of CaloDetDescrManager.
std::vector< RZPair > RZPairVector
Define macros for attributes used to control the static checker.
This class provides the client interface for accessing the detector description information common to...
BooleanProperty m_indexStaticLayers
forces robust indexing for layers
PublicToolHandle< Trk::ITrackingVolumeCreator > m_trackingVolumeCreator
Volume Builder for the Liquid Argon Calorimeter.
std::vector< int > m_mbtsPhiSegments
MBTS like detectors.
BooleanProperty m_recordLayerIndexCaloSampleMap
for deposition methods
std::unique_ptr< Trk::TrackingGeometry > createTrackingGeometry(Trk::TrackingVolume *innerVol, const CaloDetDescrManager *caloDDM, const GeoAlignmentStore *geoAlign) const
TrackingGeometry Interface method.
std::vector< double > m_mbtsStaggeringZ
MBTS like detectors.
StringProperty m_exitVolume
name of the Calo container
Trk::Material m_caloMaterial
std::vector< double > m_mbtsPhiGap
MBTS like detectors.
DoubleProperty m_caloDefaultHalflengthZ
the halflength in z if not built from
std::vector< double > m_mbtsRadiusGap
MBTS like detectors.
DoubleProperty m_caloEnvelope
Envelope cover for Gap Layers.
PublicToolHandle< Trk::ICaloTrackingVolumeBuilder > m_lArVolumeBuilder
Volume Builder for the Tile Calorimeter.
virtual StatusCode initialize() override
AlgTool initailize method.
std::vector< double > m_mbtsPositionZ
MBTS like detectors.
std::pair< Trk::TrackingVolume *, Trk::TrackingVolume * > createBeamPipeVolumes(const RZPairVector &bpCutouts, float, float, const std::string &, float &) const
method to build enclosed beam pipe volumes
DoubleProperty m_caloDefaultRadius
the radius if not built from GeoModel
CaloTrackingGeometryBuilderImpl(const std::string &, const std::string &, const IInterface *)
Constructor.
virtual ~CaloTrackingGeometryBuilderImpl()
Destructor.
Trk::GeometrySignature signature() const
The unique signature.
void registerInLayerIndexCaloSampleMap(Trk::LayerIndexSampleMap &licsMAp, const std::vector< CaloCell_ID::CaloSample > &ccid, const Trk::TrackingVolume &vol, int side=1) const
method to establish a link between the LayerIndex and the CaloCell_ID in an associative container
PublicToolHandle< Trk::ITrackingVolumeArrayCreator > m_trackingVolumeArrayCreator
Second helper for volume creation.
StringProperty m_layerIndexCaloSampleMapName
name to record it
StringProperty m_entryVolume
name of the Calo entrance
ServiceHandle< IEnvelopeDefSvc > m_enclosingEnvelopeSvc
BooleanProperty m_buildMBTS
MBTS like detectors.
Trk::Material m_crackMaterial
PublicToolHandle< Trk::ICaloTrackingVolumeBuilder > m_tileVolumeBuilder
Material properties.
Ensure that the extensions for the Vector3D are properly loaded.
Base Class for a Detector Layer in the Tracking realm.
magnetic field properties to steer the behavior of the extrapolation
A common object to be contained by.
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
Ensure that the ATLAS eigen extensions are properly loaded.
std::map< Trk::LayerIndex, int > LayerIndexSampleMap