CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/TBDataFormats/HcalTBObjects/interface/HcalTBTiming.h

Go to the documentation of this file.
00001 #ifndef HCALTBTIMING_H
00002 #define HCALTBTIMING_H 1
00003 
00004 #include <string>
00005 #include <iostream>
00006 #include <vector>
00007 #include "boost/cstdint.hpp"
00008 
00018   class HcalTBTiming {
00019   public:
00020     HcalTBTiming();
00021 
00022     // Getter methods
00023 
00025     double triggerTime()     const { return triggerTime_;     }
00026 
00028     double ttcL1Atime()      const { return ttcL1Atime_;      }
00029 
00031     double laserFlash()      const { return laserFlash_;      }
00033     double qiePhase()        const { return qiePhase_;        }
00034 
00036     double TOF1Stime()       const { return TOF1Stime_;       }
00038     double TOF1Jtime()       const { return TOF1Jtime_;       }
00040     double TOF2Stime()       const { return TOF2Stime_;       }
00042     double TOF2Jtime()       const { return TOF2Jtime_;       }
00043 
00045     int    BeamCoincidenceCount()         const { return beamCoincidenceHits_.size();   }
00047     int    M1Count()         const { return m1hits_.size();   }
00049     int    M2Count()         const { return m2hits_.size();   }
00051     int    M3Count()         const { return m3hits_.size();   }
00052 
00054     int    S1Count()         const { return s1hits_.size();   }
00056     int    S2Count()         const { return s2hits_.size();   }
00058     int    S3Count()         const { return s3hits_.size();   }
00060     int    S4Count()         const { return s4hits_.size();   }
00061 
00063     int    BH1Count()         const { return bh1hits_.size();   }
00065     int    BH2Count()         const { return bh2hits_.size();   }
00067     int    BH3Count()         const { return bh3hits_.size();   }
00069     int    BH4Count()         const { return bh4hits_.size();   }
00070 
00072     double BeamCoincidenceHits(int index) const { return beamCoincidenceHits_[index];   }
00074     double M1Hits(int index) const { return m1hits_[index];   }
00076     double M2Hits(int index) const { return m2hits_[index];   }
00078     double M3Hits(int index) const { return m3hits_[index];   }
00079 
00081     double S1Hits(int index) const { return s1hits_[index];   }
00083     double S2Hits(int index) const { return s2hits_[index];   }
00085     double S3Hits(int index) const { return s3hits_[index];   }
00087     double S4Hits(int index) const { return s4hits_[index];   }
00088 
00090     double BH1Hits(int index) const { return bh1hits_[index];   }
00092     double BH2Hits(int index) const { return bh2hits_[index];   }
00094     double BH3Hits(int index) const { return bh3hits_[index];   }
00096     double BH4Hits(int index) const { return bh4hits_[index];   }
00098     int V775(int index)  const {return V775_[index];}
00099 
00100     // Setter methods
00101     void   setTimes (const double trigger_time,
00102                      const double ttc_l1a_time,
00103                      const double laser_flash,
00104                      const double qie_phase,
00105                      const double TOF1S_time,
00106                      const double TOF1J_time,
00107                      const double TOF2S_time,
00108                      const double TOF2J_time);
00109 
00110     void   setHits  (const std::vector<double>& m1hits,
00111                      const std::vector<double>& m2hits,
00112                      const std::vector<double>& m3hits,
00113                      const std::vector<double>& s1hits,
00114                      const std::vector<double>& s2hits,
00115                      const std::vector<double>& s3hits,
00116                      const std::vector<double>& s4hits,
00117                      const std::vector<double>& bh1hits,
00118                      const std::vector<double>& bh2hits,
00119                      const std::vector<double>& bh3hits,
00120                      const std::vector<double>& bh4hits,
00121                      const std::vector<double>& beamCoincidenceHits);
00122 
00123   void setV775 (int *V775);
00124 
00125 
00126   private:
00127     double triggerTime_;
00128     double ttcL1Atime_;
00129     double laserFlash_;
00130     double qiePhase_;
00131     double TOF1Stime_;
00132     double TOF1Jtime_;
00133     double TOF2Stime_;
00134     double TOF2Jtime_;
00135 
00136     int V775_[32];
00137     std::vector<double> beamCoincidenceHits_;
00138 
00139     std::vector<double> m1hits_;
00140     std::vector<double> m2hits_;
00141     std::vector<double> m3hits_;
00142 
00143     std::vector<double> s1hits_;
00144     std::vector<double> s2hits_;
00145     std::vector<double> s3hits_;
00146     std::vector<double> s4hits_;
00147 
00148     std::vector<double> bh1hits_;
00149     std::vector<double> bh2hits_;
00150     std::vector<double> bh3hits_;
00151     std::vector<double> bh4hits_;
00152   };
00153 
00154   std::ostream& operator<<(std::ostream& s, const HcalTBTiming& htbtmg);
00155 
00156 #endif