00001 #ifndef CastorShowerLibraryInfo_h 00002 #define CastorShowerLibraryInfo_h 00003 00004 #include "TROOT.h" 00005 #include "Rtypes.h" 00006 #include "TObject.h" 00007 #include "TClass.h" 00008 #include "TDictionary.h" 00009 00010 #include <vector> 00011 #include <string> 00012 class SLBin: public TObject { 00013 public: 00014 SLBin() {}; 00015 ~SLBin() {}; 00016 // Setters 00017 void Clear() {NEvts=NBins=NEvtPerBin=0;Bins.clear();}; 00018 void setNEvts(unsigned int n) {NEvts = n;}; 00019 void setNBins(unsigned int n) {NBins = n;}; 00020 void setNEvtPerBin(unsigned int n) {NEvtPerBin=n;}; 00021 void setBin(double val) {Bins.push_back(val);}; 00022 void setBin(const std::vector<double>& b) {Bins=b;}; 00023 // getters 00024 unsigned int getNEvts() { return NEvts;}; 00025 unsigned int getNBins() { return NBins;}; 00026 unsigned int getNEvtPerBin() { return NEvtPerBin;}; 00027 double getBin(int i) { return Bins.at(i);}; 00028 std::vector<double>& getBin() { return Bins;}; 00029 private: 00030 unsigned int NEvts; 00031 unsigned int NBins; 00032 unsigned int NEvtPerBin; 00033 std::vector<double> Bins; 00034 ClassDef(SLBin,1); 00035 }; 00036 00037 class CastorShowerLibraryInfo : public TObject { 00038 00039 public: 00040 00041 CastorShowerLibraryInfo(); 00042 ~CastorShowerLibraryInfo(); 00043 00044 void Clear(); 00045 00046 // Data members 00047 SLBin Energy; 00048 SLBin Eta; 00049 SLBin Phi; 00050 00051 ClassDef(CastorShowerLibraryInfo,1); 00052 00053 }; 00054 00055 #endif