All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
include/N3AnaBase/measurements/tof_2eNg_alt_measurement.h
00001 #ifndef __N3AnaBase__tof_2eNg_alt_measurement_h
00002 #define __N3AnaBase__tof_2eNg_alt_measurement_h 1
00003 
00004 #include <string>
00005 #include <sstream>
00006 #include <vector>
00007 
00008 #include <datatools/utils/properties.h>
00009 
00010 #include <N3AnaBase/event/ana_event.h>
00011 
00012 // include common utilities:
00013 #include <N3AnaBase/measurements/tof_tools.h>
00014 
00015 namespace nemo3 {
00016 
00017   using namespace std;
00018   
00064 
00065   class tof_2eNg_alt_measurement : public ana_event::i_measurement
00066     {
00067     public:
00068       static const string VALIDITY_PROPERTY_GLOBAL_NAME;
00069       static const string VALIDITY_PROPERTY_NAME_BEGIN;
00070       static const string VALIDITY_PROPERTY_NAME_END;
00071       static const string INTERNAL_PROBABILITY_PROPERTY_NAME_END;
00072       static const string FIRST_GAMMA_PROPERTY_NAME_END;
00073       static const string SECOND_GAMMA_PROPERTY_NAME_END;
00074 
00075     private:
00076       bool   __debug;
00077       bool   __switch;
00078       string __tracking_name;
00079       string __required_channel;
00080       ana_event * __event;
00081       tof_tools   __tof_tools;
00082       float __Emin;
00083 
00084     public:
00085 
00087       tof_2eNg_alt_measurement ();
00088 
00090       tof_2eNg_alt_measurement (bool debug_);
00091 
00093       ~tof_2eNg_alt_measurement ();
00094 
00095     public:
00096       
00098       void set_debug   ( bool debug_ );
00099 
00101       void set_ECorr   ( bool energy_loss_ );
00102 
00104       void set_TimeErr ( bool timeerr_ );
00105 
00107       void set_LTFluct ( bool fluct_ );
00108 
00110       void set_switch ( bool switch_ );
00111 
00113       void set_Emin   ( float energy_min_ );
00114 
00116       void do_measurement (ana_event &);
00117       
00119       void init_from (const datatools::utils::properties &);
00120       
00121     protected:
00122       
00124 
00129       void _compute_tof_properties ();
00130 
00131     };
00132 
00133 } // end of namespace nemo3
00134 
00135 #endif // __N3AnaBase__tof_2eNg_alt_measurement_h
00136 
00137 // end of tof_2eNg_alt_measurement.h