All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
include/N3AnaBase/event/tof_col.h
00001 
00002 #ifndef __N3AnaBase__tof_col_h
00003 #define __N3AnaBase__tof_col_h 1
00004 
00005 #include <vector>
00006 #include <datatools/serialization/serialization.h>
00007 
00008 namespace nemo3 {
00009 
00010   class ana_event;
00011 
00013 
00020   class tof_col
00021   {
00022 
00023   public:
00024 
00025     tof_col ();  
00026     ~tof_col (); 
00027 
00028     void init (const ana_event &evt_); 
00029     bool is_initiated () const {return __init;} 
00030     void set_values (unsigned int s1_, unsigned int s2_, double *dt_, double *chi2_, double *P_, bool tt_=true); 
00031     void get_values (unsigned int s1_, unsigned int s2_,  double *dt_,  double *chi2_,  double *P_, bool tt_=true) const; 
00032     void get_values (unsigned int s1_, unsigned int s2_,  float *dt_,  float *chi2_,  float *P_, bool tt_=true) const; 
00033     unsigned int hasher (unsigned int, unsigned int, bool tt_=true) const; 
00034     void unhasher (unsigned int hash_, unsigned int&, unsigned int&, bool tt_=true) const; 
00035     void clean_all (); 
00036 
00037 
00038 
00039   private:
00040 
00041     bool __init;
00042 
00043     std::vector<double> __dt_tt_int;   
00044     std::vector<double> __chi2_tt_int; 
00045     std::vector<double> __P_tt_int;    
00046     std::vector<double> __dt_tt_ext;   
00047     std::vector<double> __chi2_tt_ext; 
00048     std::vector<double> __P_tt_ext;    
00049 
00050     std::vector<double> __dt_ts_int;   
00051     std::vector<double> __chi2_ts_int; 
00052     std::vector<double> __P_ts_int;    
00053     std::vector<double> __dt_ts_ext;   
00054     std::vector<double> __chi2_ts_ext; 
00055     std::vector<double> __P_ts_ext;    
00056 
00057 
00061     friend class boost::serialization::access;
00062 
00063     template<class Archive>
00064       void serialize (Archive            & ar_,
00065                       const unsigned int version_)
00066       {
00067         ar_ & boost::serialization::make_nvp ("dt_tt_int",      __dt_tt_int);
00068         ar_ & boost::serialization::make_nvp ("chi2_tt_int",    __chi2_tt_int);
00069         ar_ & boost::serialization::make_nvp ("P_tt_int",       __P_tt_int);
00070         ar_ & boost::serialization::make_nvp ("dt_tt_ext",      __dt_tt_ext);
00071         ar_ & boost::serialization::make_nvp ("chi2_tt_ext",    __chi2_tt_ext);
00072         ar_ & boost::serialization::make_nvp ("P_tt_ext",       __P_tt_ext);
00073 
00074         ar_ & boost::serialization::make_nvp ("dt_ts_int",      __dt_ts_int);
00075         ar_ & boost::serialization::make_nvp ("chi2_ts_int",    __chi2_ts_int);
00076         ar_ & boost::serialization::make_nvp ("P_ts_int",       __P_ts_int);
00077         ar_ & boost::serialization::make_nvp ("dt_ts_ext",      __dt_ts_ext);
00078         ar_ & boost::serialization::make_nvp ("chi2_ts_ext",    __chi2_ts_ext);
00079         ar_ & boost::serialization::make_nvp ("P_ts_ext",       __P_ts_ext);
00080 
00081         ar_ & boost::serialization::make_nvp ("initiated",      __init);
00082       }
00083 
00084 
00085   };
00086 }
00087 
00088 BOOST_CLASS_VERSION(nemo3::tof_col, 0)
00089 
00090 #endif