All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
include/N3AnaBase/measurements/cluster.h
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       // ctor / dtor
00055       cluster ( bool debug_ = false ); 
00056       virtual ~cluster (); 
00057 
00058 
00059     private:
00060 
00061       bool        __debug;
00062       string      __tracking_name; 
00063   };
00064 
00065 } // end of namespace nemo3
00066 
00067 #endif // __N3AnaBase__cluster_h
00068 
00069 // end of cluster.h