1 #ifndef GEAR_CalorimeterParametersImpl_H
2 #define GEAR_CalorimeterParametersImpl_H 1
6 #include "gear/CalorimeterParameters.h"
7 #include "gearimpl/GearParametersImpl.h"
8 #include "gearimpl/LayerLayoutImpl.h"
12 class LayerLayoutImpl ;
48 virtual const std::vector<double>&
getExtent()
const ;
61 virtual double getPhi0()
const {
return _phi ; }
71 LayerLayoutImpl _layout {};
72 mutable std::vector<double> _extent {};
Implementation of GearParameters - a set off parameters that can be used to describe the geometrical ...
virtual ~CalorimeterParametersImpl()
Destructor.
Proposal for an abstract interface that defines geometry properties of a typical sampling calorimeter...
Abstract description of a layered layout detector - typically a a sampling calorimeter.
virtual int getSymmetryOrder() const
The order of the rotational symmetry 8 for an octagonal barrel calorimeter 2 for an endcap calorim...
virtual const LayerLayout & getLayerLayout() const
The layer layout in the calorimeter.
virtual int getLayoutType() const
The type of the calorimeter layout: CalorimeterParametersImpl.BARREL or CalorimeterParametersImpl.ENDCAP.
virtual double getPhi0() const
The azimuthal angle of the first module if symmetryOrder > 0.
virtual const std::vector< double > & getExtent() const
Extent of the calorimeter in the r-z-plane [ rmin, rmax, zmin, zmax ] in mm.
CalorimeterParametersImpl(double rMin, double zMax, int symOrder=8, double phi0=0.0)
C'tor for a cylindrical (octagonal) BARREL calorimeter.
Implementation of layered layout detector - typically a a sampling calorimeter.