Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 13:30:06

0001 #ifndef HGCalCommonData_FastTimeDDDConstants_h
0002 #define HGCalCommonData_FastTimeDDDConstants_h
0003 
0004 /** \class FastTimeDDDConstants
0005  *
0006  * this class reads the constant section of
0007  * the numbering xml-file for fast timer device
0008  *
0009  * \author Sunanda Banerjee, SINP <sunanda.banerjee@cern.ch>
0010  *
0011  */
0012 
0013 #include <string>
0014 #include <vector>
0015 
0016 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0017 #include "Geometry/HGCalCommonData/interface/FastTimeParameters.h"
0018 
0019 class FastTimeDDDConstants {
0020 public:
0021   FastTimeDDDConstants(const FastTimeParameters* ftp);
0022   ~FastTimeDDDConstants();
0023 
0024   std::pair<int, int> getZPhi(double z, double phi) const;
0025   std::pair<int, int> getEtaPhi(double r, double phi) const;
0026   GlobalPoint getPosition(int type, int izeta, int iphi, int zside) const;
0027   std::vector<GlobalPoint> getCorners(int type, int izeta, int iphi, int zside) const;
0028   int getCells(int type) const;
0029   double getRin(int type) const;
0030   double getRout(int type) const;
0031   double getZHalf(int type) const;
0032   double getZPos(int type) const;
0033   bool isValidXY(int type, int izeta, int iphi) const;
0034   int numberEtaZ(int type) const;
0035   int numberPhi(int type) const;
0036 
0037 private:
0038   void initialize();
0039 
0040   const FastTimeParameters* ftpar_;
0041   double etaMin_, etaMax_, dEta_;
0042   double dZBarrel_, dPhiBarrel_, dPhiEndcap_;
0043   std::vector<double> rLimits_;
0044 };
0045 
0046 #endif