00001 #ifndef __N3AnaBase__cluster_h
00002 #define __N3AnaBase__cluster_h 1
00003
00004 #include <string>
00005 #include <list>
00006
00007 #include <datatools/utils/properties.h>
00008
00009 #include <N3AnaBase/event/ana_event.h>
00010 #include <N3GeomDef/N3ScinGeom.h>
00011
00012 namespace nemo3 {
00013
00014 using namespace std;
00016
00029 class cluster : public ana_event::i_measurement
00030 {
00031
00032 public:
00033
00034 static const string NUMBER_OF_CLUSTERS_PROPERTY_NAME;
00035 static const string IN_CLUSTER_PROPERTY_NAME;
00036
00037
00038 public:
00039
00040 virtual void do_measurement ( ana_event & );
00041 virtual void init_from ( const datatools::utils::properties & );
00042
00043 void init();
00044
00045 int get_cluster ( const scin_hit & );
00046 int clusters ( ana_event & );
00047
00048 int get_hits_number ( ana_event &, int );
00049 bool is_associated ( ana_event &, int );
00050
00051 double get_energy ( ana_event & event_, int cluster_);
00052 void dump ( ana_event &, std::ostream & );
00053
00054
00055 cluster ( bool debug_ = false );
00056 virtual ~cluster ();
00057
00058
00059 private:
00060
00061 bool __debug;
00062 string __tracking_name;
00063 };
00064
00065 }
00066
00067 #endif // __N3AnaBase__cluster_h
00068
00069