10 #ifndef DDRec_LAYEREDSUBDETECTOR_H_
11 #define DDRec_LAYEREDSUBDETECTOR_H_
46 const std::vector<Geometry::DetElement>&
sensors(
int layerIndex = 0)
const {
50 const std::vector<Geometry::DetElement>&
absorbers(
int layerIndex = 0)
const {
virtual const std::vector< Geometry::DetElement > & absorbers(int layerIndex) const =0
Access to the non-sensitive DetElements of a given layer index.
virtual double absorberThickness(int layerIndex) const =0
Access the total thickness of all non-sensitive elements of the layer with the given index...
LayeringExtension * _layering
virtual double interactionLength(int layerIndex) const =0
Access the total nuclear interaction length of the layer with the given index.
double totalThickness() const
Access the total thickness of the sub detector.
int numberOfSensors(int layerIndex=0) const
Access to the total number of sensors in a given layer index.
bool isValid() const
Check the validity of the object held by the handle.
double absorberThickness(int layerIndex) const
Access the total thickness of all non-sensitive elements of the layer with the given index...
double sensorInteractionLength(int layerIndex) const
Access the total nuclear interaction length of all sensitive elements of the layer with the given ind...
const std::vector< Geometry::DetElement > & sensors(int layerIndex=0) const
Access to the sensitive DetElements of a given layer index.
double interactionLength(int layerIndex=0) const
Access the total nuclear interaction length 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.
virtual double radiationLength(int layerIndex) const =0
Access the total radiation length of the layer with the given index.
double absorberInteractionLength(int layerIndex) const
Access the total nuclear interaction length of all non-sensitive elements of the layer with the given...
virtual double absorberInteractionLength(int layerIndex) const =0
Access the total nuclear interaction length of all non-sensitive elements of the layer with the given...
virtual double thickness(int layerIndex) const =0
Access the total thickness of the layer with the given index.
Geometry::DetElement layer(int layerIndex) const
Access to the layer DetElement for the given index.
virtual Geometry::DetElement layer(int layerIndex) const =0
Access to the layer DetElement for the given index.
double totalRadiationLength() const
Access the total radiation length of the sub detector.
double radiationLength(int layerIndex=0) const
Access the total radiation length of the layer with the given index.
virtual double sensorRadiationLength(int layerIndex) const =0
Access the total radiation length of all sensitive elements of the layer with the given index...
virtual double totalRadiationLength() const =0
Access the total radiation length of the sub detector.
virtual int numberOfLayers() const =0
Access to the total number of layers.
double totalInteractionLength() const
Access the total nuclear interaction length of the sub detector.
double thickness(int layerIndex=0) const
Access the total thickness of the layer with the given index.
virtual int numberOfSensors(int layerIndex) const =0
Access to the total number of sensors in a given layer index.
void getLayeringExtension()
Helper method to retrieve the extension.
virtual const std::vector< Geometry::DetElement > & sensors(int layerIndex) const =0
Access to the sensitive DetElements of a given layer index.
virtual double totalInteractionLength() const =0
Access the total nuclear interaction length of the sub detector.
double sensorRadiationLength(int layerIndex) const
Access the total radiation length of all sensitive elements of the layer with the given index...
Handle class describing a detector element.
virtual double absorberRadiationLength(int layerIndex) const =0
Access the total radiation length of all non-sensitive elements of the layer with the given index...
double absorberRadiationLength(int layerIndex) const
Access the total radiation length of all non-sensitive elements of the layer with the given index...
virtual double sensorInteractionLength(int layerIndex) const =0
Access the total nuclear interaction length of all sensitive elements of the layer with the given ind...
virtual double totalThickness() const =0
Access the total thickness of the sub detector.
const std::vector< Geometry::DetElement > & absorbers(int layerIndex=0) const
Access to the non-sensitive DetElements of a given layer index.
LayeredSubdetector(const Geometry::DetElement &det)
Default constructor.
int numberOfLayers() const
Access to the total number of layers.
virtual double sensorThickness(int layerIndex) const =0
Access the total thickness of all sensitive elements of the layer with the given index.
virtual ~LayeredSubdetector()
Destructor.