10 #ifndef DDRec_LAYERINGEXTENSIONIMPL_H_
11 #define DDRec_LAYERINGEXTENSIONIMPL_H_
52 virtual const std::vector<Geometry::DetElement>&
sensors(
int layerIndex)
const;
55 virtual const std::vector<Geometry::DetElement>&
absorbers(
int layerIndex)
const;
67 virtual double thickness(
int layerIndex)
const;
124 void checkMap(
int layerIndex)
const;
virtual double totalThickness() const
Access the total thickness of the sub detector.
std::map< int, LayerAttributes > _layerMap
virtual const std::vector< Geometry::DetElement > & absorbers(int layerIndex) const
Access to the non-sensitive DetElements of a given layer index.
virtual double totalRadiationLength() const
Access the total radiation length of the sub detector.
std::vector< Geometry::DetElement > sensors
double absorberRadiationLength
virtual double thickness(int layerIndex) const
Access the total thickness of the layer with the given index.
virtual double sensorThickness(int layerIndex) const
Access the total thickness of all sensitive elements of the layer with the given index.
LayeringExtensionImpl(const LayeringExtensionImpl &, const Geometry::DetElement &)
Copy constructor.
virtual double absorberRadiationLength(int layerIndex) const
Access the total radiation length of all non-sensitive elements of the layer with the given index...
virtual int numberOfSensors(int layerIndex) const
Access to the total number of sensors in a given layer index.
void checkMap(int layerIndex) const
Map to store layer attributes.
TGeoManager * _tgeoManager
double sensorInteractionLength
double addElement(const Geometry::DetElement &det)
double absorberInteractionLength
Helper class to store layer attributes.
ROOT::Math::XYZVector Position
virtual double radiationLength(int layerIndex) const
Access the total radiation length of the layer with the given index.
virtual double absorberThickness(int layerIndex) const
Access the total thickness of all non-sensitive elements of the layer with the given index...
virtual const std::vector< Geometry::DetElement > & sensors(int layerIndex) const
Access to the sensitive DetElements of a given layer index.
virtual int numberOfLayers() const
Access to the total number of layers.
virtual double absorberInteractionLength(int layerIndex) const
Access the total nuclear interaction length of all non-sensitive elements of the layer with the given...
Handle class describing a detector element.
virtual ~LayeringExtensionImpl()
Destructor.
LayeringExtensionImpl()
Default constructor.
Geometry::Position Position
Shortcut to use geometrical positions.
virtual double sensorRadiationLength(int layerIndex) const
Access the total radiation length of all sensitive elements of the layer with the given index...
virtual Geometry::DetElement layer(int layerIndex) const
Access to the layer DetElement for the given index.
std::vector< Geometry::DetElement > absorbers
double sensorRadiationLength
Geometry::DetElement layer
void setLayer(int layerIndex, Geometry::DetElement layer, const Position &normal)
Stores the layer information for the given layer index.
void calculate()
Helper method to calculate attributes from layer.
virtual double totalInteractionLength() const
Access the total nuclear interaction length of the sub detector.
virtual double interactionLength(int layerIndex) const
Access the total nuclear interaction length of the layer with the given index.
virtual double sensorInteractionLength(int layerIndex) const
Access the total nuclear interaction length of all sensitive elements of the layer with the given ind...