All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
include/N3AnaBase/measurements/tof_1eNg_measurement.h
00001 #ifndef __N3AnaBase__tof_1eNg_measurement_h
00002 #define __N3AnaBase__tof_1eNg_measurement_h 1
00003 
00004 #include <string>
00005 #include <sstream>
00006 
00007 #include <datatools/utils/properties.h>
00008 
00009 #include <N3AnaBase/event/ana_event.h>
00010 
00012 #include <N3AnaBase/measurements/tof_tools.h>
00013 
00014 namespace nemo3 {
00015 
00016   using namespace std;
00017   
00066 
00067   class tof_1eNg_measurement : public ana_event::i_measurement
00068     {
00069     public:
00070       static const string VALIDITY_PROPERTY_GLOBAL_NAME;
00071       static const string VALIDITY_PROPERTY_NAME_BEGIN;
00072       static const string VALIDITY_PROPERTY_NAME_END;
00073       static const string INTERNAL_PROBABILITY_PROPERTY_NAME_END;
00074       static const string EXTERNAL_PROBABILITY_PROPERTY_NAME_END;
00075       // more properties may be useful...
00076 
00077     private:
00078       bool   __debug;
00079       string __tracking_name;
00080       string __required_channel;
00081       ana_event * __event;
00082       tof_tools  __tof_tools;
00083 
00084     public:
00085 
00087       tof_1eNg_measurement ();
00088       
00090       tof_1eNg_measurement (bool debug_);
00091 
00093       ~tof_1eNg_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 do_measurement (ana_event &);
00111       
00113       void init_from (const datatools::utils::properties &);
00114       
00115     protected:
00116 
00118 
00121       void _compute_tof_properties ();
00122 
00123     };
00124 
00125 } // end of namespace nemo3
00126 
00127 #endif // __N3AnaBase__tof_1eNg_measurement_h
00128 
00129 // end of tof_1eNg_measurement.h