CMS 3D CMS Logo

Calorimeter.h
Go to the documentation of this file.
1 #ifndef FastSimulation_CalorimeterProperties_Calorimeter_h
2 #define FastSimulation_CalorimeterProperties_Calorimeter_h
3 
5 
8 class ECALProperties;
11 class HCALProperties;
16 class CaloTopology;
18 class EcalBarrelGeometry;
19 class EcalEndcapGeometry;
21 
22 namespace edm {
23  class ParameterSet;
24 }
25 
26 class Calorimeter {
27 public:
28  Calorimeter();
29  Calorimeter(const edm::ParameterSet& caloParameters);
30  ~Calorimeter();
31 
32  // Setup the geometry
33  void setupGeometry(const CaloGeometry& pG);
34 
35  // Setup the topology
36  void setupTopology(const CaloTopology&);
37 
39  const ECALProperties* ecalProperties(int onEcal) const;
40 
42  const HCALProperties* hcalProperties(int onHcal) const;
43 
45  const PreshowerLayer1Properties* layer1Properties(int onLayer1) const;
46 
48  const PreshowerLayer2Properties* layer2Properties(int onLayer2) const;
49 
51 
53 
55 
56  inline const CaloSubdetectorGeometry* getHcalGeometry() const { return HcalGeometry_; }
57 
58  const CaloSubdetectorGeometry* getEcalGeometry(int subdetn) const;
59 
60  const CaloSubdetectorTopology* getEcalTopology(int subdetn) const;
61 
62 protected:
63  //Calorimeter properties
71 
72  // The subdetectors geometry
77 
78  // The ECAL topologies
81 };
82 
83 #endif
const CaloSubdetectorGeometry * getEcalGeometry(int subdetn) const
Definition: Calorimeter.cc:132
const PreshowerLayer1Properties * layer1Properties(int onLayer1) const
Preshower Layer1 properties.
Definition: Calorimeter.cc:103
void setupTopology(const CaloTopology &)
Definition: Calorimeter.cc:127
const ECALProperties * ecalProperties(int onEcal) const
ECAL properties.
Definition: Calorimeter.cc:78
const EcalEndcapGeometry * EcalEndcapGeometry_
Definition: Calorimeter.h:74
HCALForwardProperties * myHCALForwardProperties_
Definition: Calorimeter.h:70
const PreshowerLayer2Properties * layer2Properties(int onLayer2) const
Preshower Layer2 properties.
Definition: Calorimeter.cc:110
PreshowerLayer2Properties * myPreshowerLayer2Properties_
Definition: Calorimeter.h:65
const EcalPreshowerGeometry * PreshowerGeometry_
Definition: Calorimeter.h:76
const EcalEndcapGeometry * getEcalEndcapGeometry() const
Definition: Calorimeter.h:52
const CaloSubdetectorTopology * EcalEndcapTopology_
Definition: Calorimeter.h:80
ECALEndcapProperties * myECALEndcapProperties_
Definition: Calorimeter.h:67
HCALBarrelProperties * myHCALBarrelProperties_
Definition: Calorimeter.h:68
const CaloSubdetectorGeometry * getHcalGeometry() const
Definition: Calorimeter.h:56
const CaloSubdetectorTopology * getEcalTopology(int subdetn) const
Definition: Calorimeter.cc:143
const EcalBarrelGeometry * getEcalBarrelGeometry() const
Definition: Calorimeter.h:50
const EcalBarrelGeometry * EcalBarrelGeometry_
Definition: Calorimeter.h:73
void setupGeometry(const CaloGeometry &pG)
Definition: Calorimeter.cc:117
const CaloSubdetectorGeometry * HcalGeometry_
Definition: Calorimeter.h:75
ECALBarrelProperties * myECALBarrelProperties_
Definition: Calorimeter.h:66
HLT enums.
const EcalPreshowerGeometry * getEcalPreshowerGeometry() const
Definition: Calorimeter.h:54
const CaloSubdetectorTopology * EcalBarrelTopology_
Definition: Calorimeter.h:79
const HCALProperties * hcalProperties(int onHcal) const
HCAL properties.
Definition: Calorimeter.cc:88
PreshowerLayer1Properties * myPreshowerLayer1Properties_
Definition: Calorimeter.h:64
HCALEndcapProperties * myHCALEndcapProperties_
Definition: Calorimeter.h:69