00001
00015 #ifndef ENDPOINT2D_HH
00016 #define ENDPOINT2D_HH
00017
00018 #include "data_base.hh"
00019
00020 namespace larlight {
00025 class endpoint2d : public data_base {
00026
00027 public:
00028
00030 endpoint2d(DATA::DATA_TYPE type=DATA::EndPoint2D);
00031
00033 endpoint2d(Double_t driftTime,
00034 UInt_t wire,
00035 Double_t strength,
00036 Int_t id,
00037 GEO::View_t view,
00038 Double_t totalQ,
00039 DATA::DATA_TYPE type=DATA::EndPoint2D);
00040
00042 endpoint2d(const endpoint2d &original) : data_base(original),
00043 fDriftTime(original.fDriftTime),
00044 fWire(original.fWire),
00045 fID(original.fID),
00046 fStrength(original.fStrength),
00047 fView(original.fView),
00048 fTotalCharge(original.fTotalCharge)
00049 {}
00050
00052 virtual ~endpoint2d(){}
00053
00055 virtual void clear_data();
00056
00058 Double_t Charge() const { return fTotalCharge; }
00059 GEO::View_t View() const { return fView; }
00060 Double_t DriftTime() const { return fDriftTime; }
00061 UInt_t Wire() const { return fWire; }
00062 Int_t ID() const { return fID; }
00063 Double_t Strength() const { return fStrength; }
00064
00065 private:
00066
00067 Double_t fDriftTime;
00068 UInt_t fWire;
00069 Int_t fID;
00070 Double_t fStrength;
00071 GEO::View_t fView;
00072 Double_t fTotalCharge;
00073
00075 ClassDef(endpoint2d,1)
00077
00078 };
00079
00084 class event_endpoint2d : public std::vector<larlight::endpoint2d>,
00085 public event_base {
00086
00087 public:
00088
00090 event_endpoint2d(DATA::DATA_TYPE type=DATA::EndPoint2D);
00091
00093 event_endpoint2d(const event_endpoint2d& original) : std::vector<larlight::endpoint2d>(original),
00094 event_base(original)
00095 {}
00096
00098 ~event_endpoint2d(){}
00099
00101 virtual void clear_data(){event_base::clear_data(); clear();}
00102
00103 private:
00104
00106 ClassDef(event_endpoint2d,1)
00108 };
00109 }
00110 #endif
00111