CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalDDDSimConstants.h
Go to the documentation of this file.
1 #ifndef Geometry_HcalTowerAlgo_HcalDDDSimConstants_h
2 #define Geometry_HcalTowerAlgo_HcalDDDSimConstants_h
3 
13 #include<string>
14 #include<vector>
15 #include<iostream>
16 #include<iomanip>
17 
21 
23 
24 public:
25 
28 
29  HcalCellType::HcalCell cell(int det, int zside, int depth, int etaR,
30  int iphi) const;
31  std::vector<std::pair<double,double> > getConstHBHE(const int type) const;
32  std::pair<int,double> getDetEta(double eta, int depth);
33  int getEta(int det,int lay, double hetaR);
34  std::pair<int,int> getEtaDepth(int det, int etaR, int phi, int depth,
35  int lay);
36  double getEtaHO(double& etaR, double& x, double& y,
37  double& z) const;
38  std::pair<int,int> getiEtaRange(const int i) const {return std::pair<int,int>(hpar->etaMin[i],hpar->etaMax[i]);}
39  const std::vector<double> & getEtaTableHF() const {return hpar->etaTableHF;}
40  unsigned int findLayer(int layer, const std::vector<HcalParameters::LayerItem>& layerGroup) const;
41  const std::vector<double> & getGparHF() const {return hpar->gparHF;}
42  const std::vector<double> & getLayer0Wt() const {return hpar->Layer0Wt;}
43  std::pair<int,int> getModHalfHBHE(const int type) const;
44  std::pair<double,double> getPhiCons(int det, int ieta);
45  const std::vector<double> & getPhiTableHF() const {return hpar->phitable;}
46  const std::vector<double> & getRTableHF() const {return hpar->rTable;}
47  std::vector<HcalCellType> HcalCellTypes() const;
48  std::vector<HcalCellType> HcalCellTypes(HcalSubdetector, int ieta=-1,
49  int depth=-1) const;
50  int getMaxDepth(const int type) const {return maxDepth[type];}
51  unsigned int numberOfCells(HcalSubdetector) const;
52  int phiNumber(int phi, int unit) const;
53  void printTiles() const;
54  int unitPhi(int det, int etaR) const;
55  int unitPhi(double dphi) const;
56 
57 private:
58  void initialize();
59  double deltaEta(int det, int eta, int depth) const;
60  double getEta(int det, int etaR, int zside, int depth=1) const;
61  double getEta(double r, double z) const;
62  int getShift(HcalSubdetector subdet, int depth) const;
63  double getGain (HcalSubdetector subdet, int depth) const;
64  void printTileHB(int eta, int depth) const;
65  void printTileHE(int eta, int depth) const;
66  unsigned int layerGroupSize( unsigned int eta ) const;
67  unsigned int layerGroup( unsigned int eta, unsigned int i ) const;
68 
70 
71  static const int nDepthMax=9;
72  std::vector<int> maxDepth; // Maximum depths in HB/HE/HF/HO
73  int nEta; // Number of bins in eta for HB and HE
74  int nR; // Number of bins in r
75  int nPhiF; // Number of bins in phitable
76  std::vector<int> depths[nDepthMax]; // Maximum layer number for a depth
77  int nDepth; // Number of bins in depth0
78  int nzHB, nmodHB; // Number of halves and modules in HB
79  int nzHE, nmodHE; // Number of halves and modules in HE
80  double etaHO[4], rminHO; // eta in HO ring boundaries
81  double zVcal; // Z-position of the front of HF
82  double dzVcal; // Half length of the HF
83  double dlShort; // Diference of length between long and short
84 };
85 
86 #endif
std::pair< int, int > getEtaDepth(int det, int etaR, int phi, int depth, int lay)
type
Definition: HCALResponse.h:21
int i
Definition: DBlmapReader.cc:9
int unitPhi(int det, int etaR) const
void printTileHB(int eta, int depth) const
std::vector< int > maxDepth
int getEta(int det, int lay, double hetaR)
int getMaxDepth(const int type) const
int zside(DetId const &)
std::vector< std::pair< double, double > > getConstHBHE(const int type) const
HcalDDDSimConstants(const HcalParameters *hp)
std::vector< double > etaTableHF
unsigned int numberOfCells(HcalSubdetector) const
std::vector< int > etaMax
std::vector< int > depths[nDepthMax]
double getEtaHO(double &etaR, double &x, double &y, double &z) const
const std::vector< double > & getLayer0Wt() const
void printTileHE(int eta, int depth) const
const std::vector< double > & getRTableHF() const
string unit
Definition: csvLumiCalc.py:46
susybsm::HSCParticleRefProd hp
Definition: classes.h:27
int getShift(HcalSubdetector subdet, int depth) const
double getGain(HcalSubdetector subdet, int depth) const
const std::vector< double > & getPhiTableHF() const
HcalSubdetector
Definition: HcalAssistant.h:31
std::vector< HcalCellType > HcalCellTypes() const
std::pair< int, int > getModHalfHBHE(const int type) const
unsigned int findLayer(int layer, const std::vector< HcalParameters::LayerItem > &layerGroup) const
const std::vector< double > & getGparHF() const
std::pair< int, double > getDetEta(double eta, int depth)
std::pair< double, double > getPhiCons(int det, int ieta)
std::vector< double > gparHF
double deltaEta(int det, int eta, int depth) const
std::vector< double > Layer0Wt
const std::vector< double > & getEtaTableHF() const
std::vector< double > rTable
std::vector< double > phitable
HcalCellType::HcalCell cell(int det, int zside, int depth, int etaR, int iphi) const
int phiNumber(int phi, int unit) const
std::pair< int, int > getiEtaRange(const int i) const
const HcalParameters * hpar
static const int nDepthMax
unsigned int layerGroup(unsigned int eta, unsigned int i) const
std::vector< int > etaMin
unsigned int layerGroupSize(unsigned int eta) const