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) 
   33   class SiDetectorManager;
 
   40   class BinnedLayerMaterial;
 
   75     void registerSurfacesToLayer(std::span<Trk::Surface * const >& layerSurfaces, 
Trk::Layer& lay) 
const;
 
   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*> >
 
   87       dressCylinderLayers(
const std::vector<Trk::CylinderLayer* >& dLayers) 
const;
 
   98     BooleanProperty m_pixelCase{
this, 
"PixelCase", 
true}; 
 
  100     StringProperty m_siMgrLocation{
this, 
"SiDetManagerLocation", 
"Pixel"}; 
 
  104     BooleanProperty m_setLayerAssociation{
this, 
"SetLayerAssociation", 
true}; 
 
  108     DoubleArrayProperty m_barrelAdditionalLayerR{
this, 
"BarrelAdditionalLayerRadii", {} };         
 
  109     IntegerArrayProperty m_barrelAdditionalLayerType{
this, 
"BarrelAdditionalLayerType", {} };      
 
  110     UnsignedIntegerProperty m_barrelLayerBinsZ{
this, 
"BarrelLayerBinsZ", 100};               
 
  111     UnsignedIntegerProperty m_barrelLayerBinsPhi{
this, 
"BarrelLayerBinsPhi", 1};             
 
  112     DoubleProperty m_barrelEnvelope{
this, 
"BarrelEnvelope", 0.1};                 
 
  113     DoubleProperty m_barrelEdbTolerance{
this, 
"BarrelEdbTolerance", 0.05};             
 
  116     DoubleArrayProperty m_endcapAdditionalLayerPosZ{
this, 
"EndcapAdditionalLayerPositionsZ", {} };      
 
  117     IntegerArrayProperty m_endcapAdditionalLayerType{
this,
"EndcapAdditionalLayerType" , {} };      
 
  118     UnsignedIntegerProperty m_endcapLayerBinsR{
this, 
"EndcapLayerBinsR", 100};               
 
  119     UnsignedIntegerProperty m_endcapLayerBinsPhi{
this, 
"EndcapLayerBinsPhi", 1};             
 
  120     DoubleProperty m_endcapEnvelope{
this, 
"EndcapEnvelope", 0.1};                 
 
  121     BooleanProperty m_endcapComplexRingBinning{
this, 
"EndcapComplexRingBinning", 
true};       
 
  123     StringProperty m_identification{
this, 
"Identification", 
"Pixel"};                  
 
  125     BooleanProperty m_runGeometryValidation{
this, 
"GeometryValidation", 
true};           
 
  127     IntegerArrayProperty m_layerIndicesBarrel{
this, 
"LayerIndicesBarrel", {} }; 
 
  128     IntegerArrayProperty m_layerIndicesEndcap{
this, 
"LayerIndicesEndcap", {} }; 
 
  129     BooleanProperty m_useRingLayout{
this, 
"UseRingLayout", 
false}; 
 
  130     BooleanProperty m_addMoreSurfaces{
this, 
"AddMoreSurfaces", 
false}; 
 
  143 #endif // INDETTRACKINGGEOMETRY_SILAYERBUILDERIMPL_H