Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:35:38

0001 #ifndef CondFormats_PTrackerAdditionalParametersPerDet_h
0002 #define CondFormats_PTrackerAdditionalParametersPerDet_h
0003 
0004 #include "CondFormats/Serialization/interface/Serializable.h"
0005 
0006 #include <vector>
0007 #include <string>
0008 
0009 class PTrackerAdditionalParametersPerDet {
0010 public:
0011   PTrackerAdditionalParametersPerDet() {
0012     intParams_.resize(ISIZE, std::vector<int>(0, 0));
0013     floatParams_.resize(FSIZE, std::vector<float>(0, 0.));
0014     boolParams_.resize(BSIZE, std::vector<bool>(0, false));
0015   };
0016   ~PTrackerAdditionalParametersPerDet() {}
0017 
0018   enum IntParamIndex { GEOGRAPHICAL_ID = 0, BIGPIXELS_X = 1, BIGPIXELS_Y = 2, ISIZE = 3 };
0019   enum BoolParamIndex { BSIZE = 0 };
0020   enum FloatParamIndex { BIGPIXELS_PITCH_X = 0, BIGPIXELS_PITCH_Y = 1, FSIZE = 2 };
0021 
0022   int getGeographicalId(int theIndex) const;
0023   int bigPixelsX(int theIndex) const;
0024   int bigPixelsY(int theIndex) const;
0025   float bigPixelsPitchX(int theIndex) const;
0026   float bigPixelsPitchY(int theIndex) const;
0027 
0028   std::vector<int> getAllGeographicalIds() const;
0029   std::vector<int> allBigPixelsXs() const;
0030   std::vector<int> allBigPixelsYs() const;
0031   std::vector<float> allBigPixelsPitchXs() const;
0032   std::vector<float> allBigPixelsPitchYs() const;
0033 
0034   void setGeographicalId(int geographicalId);
0035   void setBigPixelsX(int bigPixelsX);
0036   void setBigPixelsY(int bigPixelsY);
0037   void setBigPixelsPitchX(float bigPixelsPitchX);
0038   void setBigPixelsPitchY(float bigPixelsPitchY);
0039 
0040   std::vector<std::vector<int>> intParams_;
0041   std::vector<std::vector<bool>> boolParams_;
0042   std::vector<std::vector<float>> floatParams_;
0043 
0044   COND_SERIALIZABLE;
0045 };
0046 
0047 #endif