CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/TBDataFormats/HcalTBObjects/interface/HcalTBEventPosition.h

Go to the documentation of this file.
00001 #ifndef HCALTBEVENTPOSITION_H
00002 #define HCALTBEVENTPOSITION_H 1
00003 
00004 #include <string>
00005 #include <iostream>
00006 #include <vector>
00007 #include "boost/cstdint.hpp"
00008 
00019 class HcalTBEventPosition {
00020 public:
00022   HcalTBEventPosition();
00023   
00025   double hfTableX()       const { return hfTableX_;       }
00027   double hfTableY()       const { return hfTableY_;       }
00029   double hfTableV()       const { return hfTableV_;       }
00031   double hbheTableEta()   const { return hbheTableEta_;   }
00033   double hbheTablePhi()   const { return hbheTablePhi_;   }
00034 
00039   void   getChamberHits     ( char chamberch, // 'A','B','C','D', or 'E'
00040                               std::vector<double>& xvec,
00041                               std::vector<double>& yvec  ) const;
00042   
00043   // Setter methods
00044   void   setHFtableCoords   ( double x, 
00045                               double y,
00046                               double v                        );
00047   void   setHBHEtableCoords ( double eta,
00048                               double phi                      );
00049   void   setChamberHits     ( char chamberch,
00050                               const std::vector<double>& xvec,
00051                               const std::vector<double>& yvec  );
00052   
00053 private:
00054   double hfTableX_, hfTableY_, hfTableV_;
00055   double hbheTableEta_, hbheTablePhi_;
00056   
00057   std::vector<double> ax_,ay_,bx_,by_,cx_,cy_,dx_,dy_,ex_,ey_,fx_,fy_,gx_,gy_,hx_,hy_;
00058 };
00059 
00060 std::ostream& operator<<(std::ostream& s, const HcalTBEventPosition& htbep);
00061 
00062 #endif