00001 #ifndef PLASTICS_EVENT_H 00002 #define PLASTICS_EVENT_H 00003 00004 #ifdef WITHGO4ROC 00005 #include "TGo4EventElement.h" 00006 #else 00007 #include "Riostream.h" 00008 #include "TObject.h" 00009 #include <vector> 00010 #endif // WITHGO4ROC 00011 00012 #define NB_PLASTICS_MAX 4 // Maximal Nb of plastics which can be defined 00013 00014 class Plastics_Hit: public TObject { 00015 public: 00016 Double_t dTimeLeft; // in ps 00017 Double_t dTotLeft; // in ps 00018 Double_t dTimeRight; // in ps 00019 Double_t dTotRight; // in ps 00020 Bool_t fbMultiEdge; 00021 00022 Plastics_Hit() : TObject() { Clear(); }; 00023 virtual ~Plastics_Hit(){ Clear(); }; 00024 00025 virtual void Clear(Option_t *t=""); 00026 00027 Bool_t IsMultiEdge() const { return fbMultiEdge; }; 00028 00029 /* 00030 // copy constructor, used by vector to copy content for sorting 00031 Plastics_Hit(const Plastics_Hit& src) : 00032 iStrip(src.iStrip), 00033 dTimeLeft(src.dTimeLeft), dTotLeft(src.dTotLeft), 00034 dTimeRight(src.dTimeRight), dTotRight(src.dTotRight) {} 00035 */ 00036 00037 ClassDef(Plastics_Hit, 1) 00038 }; 00039 00040 class Plastics_Event : public TObject { 00041 public: 00042 00043 00044 Plastics_Event(): TObject() { Clear(); }; 00045 virtual ~Plastics_Event(){ Clear(); }; 00046 00048 virtual void Clear(Option_t *t=""); 00049 Bool_t IsMultiEdge() const { return fbMultiEdgesPresent; }; 00050 00051 // Maybe to be transformed into a TObjArray or TCloneArray 00052 std::vector<Plastics_Hit> fHits[NB_PLASTICS_MAX]; 00053 UInt_t fuEventNumber; 00054 Bool_t fbMultiEdgesPresent; 00055 00056 ClassDef(Plastics_Event,1) 00057 }; 00058 00059 #endif //PLASTICS_EVENT_H