00001
00015 #ifndef WIRE_HH
00016 #define WIRE_HH
00017
00018 #include "data_base.hh"
00019
00020 namespace larlight {
00025 class wire : public data_base {
00026
00027 public:
00028
00030 wire(DATA::DATA_TYPE type=DATA::Wire);
00031
00033 wire(const std::vector<Float_t> wf,
00034 const UInt_t ch,
00035 const GEO::View_t view,
00036 const GEO::SigType_t sig)
00037 : data_base(DATA::Wire),
00038 fSignal(wf),
00039 fView(view),
00040 fSignalType(sig),
00041 fChannel(ch)
00042 {};
00043
00045 wire(const wire& original) : data_base(original),
00046 fSignal(original.fSignal),
00047 fView(original.fView),
00048 fSignalType(original.fSignalType),
00049 fChannel(original.fChannel)
00050 {};
00051
00053 virtual ~wire(){};
00054
00055 void clear_data();
00056
00058 void set_signal(const std::vector<Float_t> wf) { fSignal=wf; }
00060 void set_channel(UInt_t ch) { fChannel = ch; }
00062 void set_view (GEO::View_t v) { fView = v; }
00064 void set_sigtype(GEO::SigType_t s) { fSignalType = s; }
00065
00066
00068 const std::vector<Float_t>& Signal() const { return fSignal; }
00070 GEO::View_t View() const { return fView; }
00072 GEO::SigType_t SignalType() const { return fSignalType; }
00074 UInt_t Channel() const { return fChannel; }
00075
00076 protected:
00077
00078 std::vector<Float_t> fSignal;
00079 GEO::View_t fView;
00080 GEO::SigType_t fSignalType;
00081 UInt_t fChannel;
00082
00083 private:
00084
00086 ClassDef(wire,1)
00088
00089 };
00090
00095 class event_wire : public std::vector<larlight::wire>,
00096 public event_base {
00097
00098 public:
00099
00101 event_wire(DATA::DATA_TYPE type=DATA::Wire);
00102
00104 event_wire(const event_wire& original) : std::vector<larlight::wire>(original), event_base(original)
00105 {}
00106
00108 ~event_wire(){}
00109
00111 virtual void clear_data(){event_base::clear_data(); clear();}
00112
00113 private:
00114
00116 ClassDef(event_wire,2)
00118 };
00119 }
00120 #endif
00121