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 
50  inline const EcalBarrelGeometry* getEcalBarrelGeometry() const { return EcalBarrelGeometry_; }
51 
52  inline const EcalEndcapGeometry* getEcalEndcapGeometry() const { return EcalEndcapGeometry_; }
53 
54  inline const EcalPreshowerGeometry* getEcalPreshowerGeometry() const { return PreshowerGeometry_; }
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 EcalEndcapGeometry * EcalEndcapGeometry_
Definition: Calorimeter.h:74
HCALForwardProperties * myHCALForwardProperties_
Definition: Calorimeter.h:70
PreshowerLayer2Properties * myPreshowerLayer2Properties_
Definition: Calorimeter.h:65
const EcalPreshowerGeometry * getEcalPreshowerGeometry() const
Definition: Calorimeter.h:54
const EcalPreshowerGeometry * PreshowerGeometry_
Definition: Calorimeter.h:76
const CaloSubdetectorGeometry * getHcalGeometry() const
Definition: Calorimeter.h:56
const CaloSubdetectorTopology * EcalEndcapTopology_
Definition: Calorimeter.h:80
ECALEndcapProperties * myECALEndcapProperties_
Definition: Calorimeter.h:67
HCALBarrelProperties * myHCALBarrelProperties_
Definition: Calorimeter.h:68
const EcalBarrelGeometry * EcalBarrelGeometry_
Definition: Calorimeter.h:73
const EcalBarrelGeometry * getEcalBarrelGeometry() const
Definition: Calorimeter.h:50
const CaloSubdetectorGeometry * HcalGeometry_
Definition: Calorimeter.h:75
ECALBarrelProperties * myECALBarrelProperties_
Definition: Calorimeter.h:66
HLT enums.
const CaloSubdetectorTopology * EcalBarrelTopology_
Definition: Calorimeter.h:79
const EcalEndcapGeometry * getEcalEndcapGeometry() const
Definition: Calorimeter.h:52
PreshowerLayer1Properties * myPreshowerLayer1Properties_
Definition: Calorimeter.h:64
HCALEndcapProperties * myHCALEndcapProperties_
Definition: Calorimeter.h:69