7 #ifndef GEAR_LayerLayoutImpl_H
8 #define GEAR_LayerLayoutImpl_H 1
11 #include "gear/LayerLayout.h"
32 double AbsorberThickness {};
37 typedef std::vector<Layer> LayerVec ;
49 virtual double getDistance(
int layerIndex)
const {
return _vec.at( layerIndex ).Distance ; }
54 virtual double getThickness(
int layerIndex)
const {
return _vec.at( layerIndex ).Thickness ; }
60 return _vec.at( layerIndex ).AbsorberThickness ;
67 return _vec.at( layerIndex ).CellSize0 ;
73 return _vec.at( layerIndex ).CellSize1 ;
79 virtual void positionLayer(
double distance,
double thickness,
double cellSize0,
double cellSize1,
double absorberThickness = 0. ) ;
83 virtual void addLayer(
double thickness,
double cellSize0,
double cellSize1,
double absorberThickness = 0. ) ;
virtual ~LayerLayoutImpl()
Destructor.
virtual int getNLayers() const
The total number of layers.
Abstract description of a layered layout detector - typically a a sampling calorimeter.
virtual double getThickness(int layerIndex) const
The thickness of the layer layerIndex - layer indexing starts at 0 for the layer closest to the origi...
virtual void positionLayer(double distance, double thickness, double cellSize0, double cellSize1, double absorberThickness=0.)
Position new layer at the given distance (after the last layer) - typically this will be used for the...
virtual double getCellSize0(int layerIndex) const
The cell size along the first axis where first is either along the beam (barrel type) or up (endcap) ...
Helper class for layer properties.
virtual void addLayer(double thickness, double cellSize0, double cellSize1, double absorberThickness=0.)
Add a new layer right after the last layer - at distance 0.
virtual double getCellSize1(int layerIndex) const
The second cell size, perpendicular to the first direction (getCellSize0()) and the depth of the laye...
virtual double getDistance(int layerIndex) const
The distance of the layer layerIndex from the origin - layer indexing starts at 0 for the layer close...
virtual double getAbsorberThickness(int layerIndex) const
The thickness of the absorber part of the layer layerIndex - layer indexing starts at 0 for the layer...
Implementation of layered layout detector - typically a a sampling calorimeter.