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 }
00120
00121 #endif // __N3AnaBase__tof_2e_measurement_h
00122
00123