5#ifndef INDETTRACKINGGEOMETRY_SILAYERBUILDERIMPL_H
6#define INDETTRACKINGGEOMETRY_SILAYERBUILDERIMPL_H
25#ifndef TRKDETDESCR_TAKESMALLERBIGGER
26#define TRKDETDESCR_TAKESMALLERBIGGER
27#define takeSmaller(current,test) current = current < test ? current : test
28#define takeBigger(current,test) current = current > test ? current : test
29#define takeSmallerBigger(cSmallest, cBiggest, test) takeSmaller(cSmallest, test); takeBigger(cBiggest, test)
69 virtual StatusCode
finalize()
override;
77 std::unique_ptr<const std::vector<Trk::CylinderLayer*> >
80 std::unique_ptr<std::vector< Trk::DiscLayer*> >
83 std::unique_ptr<std::vector< Trk::DiscLayer*> >
86 std::unique_ptr<std::vector<Trk::CylinderLayer*> >
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Class to hold the SiDetectorElement objects to be put in the detector store.
Base class for Pixel and SCT Detector managers.
DoubleProperty m_barrelEnvelope
envelope around rMin/rMax
BooleanProperty m_setLayerAssociation
Set Layer Association.
IntegerArrayProperty m_layerIndicesBarrel
indices to be used for layer creation (used for ITk specific case)
virtual StatusCode finalize() override
AlgTool finalize method.
BooleanProperty m_addMoreSurfaces
to add additional surfaces to the PixelOverlapDescriptor, SCT_OverlapDescriptor and DiscOverlapDescri...
UnsignedIntegerProperty m_endcapLayerBinsR
Barrel bins for the material in r.
std::unique_ptr< std::vector< Trk::CylinderLayer * > > dressCylinderLayers(const std::vector< Trk::CylinderLayer * > &dLayers) const
helper method to construct barrel material
virtual ~SiLayerBuilderImpl()=default
Destructor.
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_PixelReadKey
StringProperty m_identification
string identification
void registerSurfacesToLayer(std::span< Trk::Surface *const > &layerSurfaces, Trk::Layer &lay) const
BooleanProperty m_runGeometryValidation
run the validation of the geometry ( no empty bins)
DoubleProperty m_endcapEnvelope
envelope around rMin/rMax
DoubleArrayProperty m_endcapAdditionalLayerPosZ
Create additional endcaps at these z positions.
UnsignedIntegerProperty m_barrelLayerBinsPhi
Barrel bins for the material in phi.
std::unique_ptr< std::vector< Trk::DiscLayer * > > createRingLayersImpl(const InDetDD::SiDetectorElementCollection &siDetElementCollection) const
DoubleArrayProperty m_barrelAdditionalLayerR
Create an additional layer at these radii.
const Trk::BinnedLayerMaterial endcapLayerMaterial(double rMin, double rMax) const
UnsignedIntegerProperty m_endcapLayerBinsPhi
Barrel bins for the material in phi.
const PixelID * m_pixIdHelper
pixel Id Helper
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCT_ReadKey
IntegerArrayProperty m_barrelAdditionalLayerType
material layer 1 - navigation layer 0
const InDetDD::SiDetectorManager * m_siMgr
the Si Detector Manager
BooleanProperty m_useRingLayout
to enable creation of rings for ITk pixel geometry (used for ITk specific case)
SiLayerBuilderImpl(const std::string &, const std::string &, const IInterface *)
AlgTool style constructor.
DoubleProperty m_barrelEdbTolerance
tolerance in percent how much the bin sizes can change
std::unique_ptr< std::vector< Trk::DiscLayer * > > createDiscLayersImpl(const InDetDD::SiDetectorElementCollection &siDetElementCollection, std::unique_ptr< std::vector< Trk::DiscLayer * > > discLayers=nullptr) const
std::unique_ptr< const std::vector< Trk::CylinderLayer * > > cylindricalLayersImpl(const InDetDD::SiDetectorElementCollection &siDetElementCollection) const
IntegerArrayProperty m_endcapAdditionalLayerType
material layer 1 - navigation layer 0 ( for volume adjustment )
BooleanProperty m_endcapComplexRingBinning
make std::vector<R> rings, could be different for layers
BooleanProperty m_pixelCase
Common properties.
const SCT_ID * m_sctIdHelper
sct Id Helper
IntegerArrayProperty m_layerIndicesEndcap
indices to be used for layer creation (used for ITk specific case)
const Trk::BinnedLayerMaterial barrelLayerMaterial(double r, double hz) const
helper method to construct endcap material
StringProperty m_siMgrLocation
the location of the Pixel Manager
UnsignedIntegerProperty m_barrelLayerBinsZ
Barrel bins for the material in z.
This is an Identifier helper class for the Pixel subdetector.
This is an Identifier helper class for the SCT subdetector.
Base class for Pixel and SCT Detector managers.
It extends the LayerMaterialProperties base class.
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...
Base Class for a Detector Layer in the Tracking realm.
Abstract Base Class for tracking surfaces.
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
std::pair< std::shared_ptr< Surface >, Amg::Vector3D > SurfaceOrderPosition