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
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 }
00126
00127 #endif // __N3AnaBase__tof_1eNg_measurement_h
00128
00129