All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
include/N3AnaBase/measurements/tof_2e_measurement.h
00001 #ifndef __N3AnaBase__tof_2e_measurement_h
00002 #define __N3AnaBase__tof_2e_measurement_h 1
00003 
00004 #include <string>
00005 
00006 #include <datatools/utils/properties.h>
00007 
00008 #include <N3AnaBase/event/ana_event.h>
00009 
00011 #include <N3AnaBase/measurements/tof_tools.h>
00012 
00013 namespace nemo3 {
00014 
00015   using namespace std;
00016 
00065 
00066   class tof_2e_measurement : public ana_event::i_measurement
00067     {
00068     public:
00069       static const string VALIDITY_PROPERTY_NAME;
00070       static const string INTERNAL_PROBABILITY_PROPERTY_NAME;
00071       static const string EXTERNAL_PROBABILITY_PROPERTY_NAME;
00072 
00073     private:
00074       bool   __debug;
00075       string __tracking_name;
00076       string __required_channel;
00077       ana_event * __event;
00078       tof_tools   __tof_tools;
00079 
00080     public:
00081 
00083       tof_2e_measurement (bool debug_ = false);
00084 
00086       virtual ~tof_2e_measurement ();
00087 
00088     public:
00089 
00091       void set_debug   ( bool debug_ );
00092 
00094       void set_ECorr   ( bool energy_loss_ );
00095 
00097       void set_TimeErr ( bool timeerr_ );
00098 
00100       void set_LTFluct ( bool fluct_ );
00101 
00103       virtual void do_measurement (ana_event &);
00104       
00106       virtual void init_from (const datatools::utils::properties &);
00107       
00108     protected:
00109 
00111 
00115       virtual void _compute_tof_properties ();
00116 
00117     };
00118 
00119 } // end of namespace nemo3
00120 
00121 #endif // __N3AnaBase__tof_2e_measurement_h
00122 
00123 // end of tof_2e_measurement.h