GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
CalorimeterParameters.h
1 // -*- C++ -*-
2 #ifndef GEAR_CALORIMETERPARAMETERS_H
3 #define GEAR_CALORIMETERPARAMETERS_H 1
4 
5 #include <vector>
6 
7 #include "gear/GearParameters.h"
8 
9 namespace gear {
10 
11 class LayerLayout;
12 
20 class CalorimeterParameters : virtual public GearParameters {
21 
22 public:
24  virtual ~CalorimeterParameters() { /* nop */; }
25 
26  // Static constants (enums) for the type of the layout
27 
28  static const int BARREL = 1 ;
29  static const int ENDCAP = 2 ;
31  virtual const LayerLayout & getLayerLayout() const = 0;
32 
36  virtual int getLayoutType() const = 0;
37 
40  virtual const std::vector<double> & getExtent() const = 0;
41 
48  virtual int getSymmetryOrder() const = 0;
49 
52  virtual double getPhi0() const = 0;
53 }; // class
54 } // namespace gear
55 #endif /* ifndef GEAR_CALORIMETERPARAMETERS_H */
virtual int getLayoutType() const =0
The type of the calorimeter layout: CalorimeterParameters.BARREL or CalorimeterParameters.ENDCAP.
virtual ~CalorimeterParameters()
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.
Definition: LayerLayout.h:15
virtual const std::vector< double > & getExtent() const =0
Extent of the calorimeter in the r-z-plane [ rmin, rmax, zmin, zmax ] in mm.
Abstract interface for a set of parameters that can be used to describe the geometrical properties of...
virtual const LayerLayout & getLayerLayout() const =0
The layer layout in the calorimeter.
virtual int getSymmetryOrder() const =0
The order of the rotational symmetry 8 for an octagonal barrel calorimeter 2 for an endcap calorim...
virtual double getPhi0() const =0
The azimuthal angle of the first module if symmetryOrder &gt; 0.