Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:56:24

0001 
0002 #ifndef _LASCONSTANTS_H
0003 #define _LASCONSTANTS_H
0004 
0005 #include <vector>
0006 #include <iostream>
0007 
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009 
0010 class LASConstants {
0011 public:
0012   LASConstants();
0013   LASConstants(std::vector<edm::ParameterSet> const&);
0014   ~LASConstants();
0015 
0016   double GetEndcapBsKink(unsigned int det, unsigned int ring, unsigned int beam) const;
0017   double GetAlignmentTubeBsKink(unsigned int beam) const;
0018 
0019   double GetTecRadius(unsigned int ring) const;
0020   double GetAtRadius(void) const;
0021 
0022   double GetTecZPosition(unsigned int det, unsigned int disk) const;
0023   double GetTibZPosition(unsigned int pos) const;
0024   double GetTobZPosition(unsigned int pos) const;
0025   double GetTecBsZPosition(unsigned int det) const;
0026   double GetAtBsZPosition(void) const;
0027 
0028 private:
0029   void InitContainers(void);
0030   void FillBsKinks(edm::ParameterSet const&);
0031   void FillRadii(edm::ParameterSet const&);
0032   void FillZPositions(edm::ParameterSet const&);
0033 
0034   std::vector<std::vector<std::vector<double> > > endcapBsKinks;  // outer to inner: det, ring, beam
0035   std::vector<double> alignmentTubeBsKinks;                       // 8 beams
0036 
0037   std::vector<double> tecRadii;
0038   double atRadius;
0039 
0040   std::vector<double> tecZPositions;
0041   std::vector<double> tibZPositions;
0042   std::vector<double> tobZPositions;
0043   double tecBsZPosition;
0044   double atZPosition;
0045 };
0046 
0047 #endif