9#ifndef TRKDETDESCRTOOLS_LAYERARRAYCREATOR_H
10#define TRKDETDESCRTOOLS_LAYERARRAYCREATOR_H
12#ifndef TRKDETDESCR_TAKESMALLERBIGGER
13#define TRKDETDESCR_TAKESMALLERBIGGER
14#define takeSmaller(current,test) current = current < test ? current : test
15#define takeBigger(current,test) current = current > test ? current : test
16#define takeSmallerBigger(cSmallest, cBiggest, test) takeSmaller(cSmallest, test); takeBigger(cBiggest, test)
63 const std::vector<CylinderLayer*>& layers,
70 const std::vector<DiscLayer*>& layers,
77 const std::vector<PlaneLayer*>& layers,
Interface class ILayerArrayCreators It inherits from IAlgTool.
std::pair< std::shared_ptr< const Layer >, Amg::Vector3D > LayerOrderPosition
std::unique_ptr< Trk::BinnedArray1D< Layer > > cylinderLayerArray(const std::vector< CylinderLayer * > &layers, double rmin, double rmax, BinningType btype=arbitrary) const
LayerArrayCreator interface method - for Barrel-like layers.
std::unique_ptr< Trk::BinnedArray1D< Layer > > discLayerArray(const std::vector< DiscLayer * > &layers, double zmin, double zmax, BinningType btype=arbitrary) const
LayerArrayCreator interface method - for Endcap-like layers.
LayerArrayCreator(const std::string &, const std::string &, const IInterface *)
Constructor.
virtual ~LayerArrayCreator()=default
Destructor.
Trk::Layer * checkAndReplaceEmptyLayer(Trk::Layer *lay) const
std::unique_ptr< Trk::BinnedArray1D< Layer > > planeLayerArray(const std::vector< PlaneLayer * > &layers, double min, double max, BinningType btype=arbitrary, Trk::BinningValue bv=Trk::binX) const
LayerArrayCreator interface method - for Planar-like layers.
int m_emptyLayerMode
0 - do nothing, 1 - replace with navigation layer, 2 - delete
Base Class for a Detector Layer in the Tracking realm.
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
BinningType
, BinningOption & BinningAccess
BinningValue
how to take the global / local position