00001 #ifndef CALDRIFT_H 00002 #define CALDRIFT_H 00003 00004 #include <string> 00005 00006 #include "Conventions/Detector.h" 00007 #include "DatabaseInterface/DbiTableRow.h" 00008 #include "Validity/VldTimeStamp.h" 00009 #include "LeakChecker/Lea.h" 00010 00011 class DbiOutRowStream; 00012 class DbiResultSet; 00013 class DbiValidityRec; 00014 class VldContext; 00015 class VldTimeStamp; 00016 00017 //____________________________________________________________________ 00018 class CalDrift : public DbiTableRow 00019 { 00020 public: 00021 CalDrift(); 00022 virtual ~CalDrift(); 00023 00024 // Dbi Interface: 00025 virtual DbiTableRow* CreateTableRow() const; 00026 virtual void Fill(DbiResultSet& rs, 00027 const DbiValidityRec*/* vrec */); 00028 virtual void Store(DbiOutRowStream& ors, 00029 const DbiValidityRec* /* vrec */) const; 00030 Bool_t CanL2Cache() const { return kTRUE; } 00031 UInt_t GetIndex(UInt_t) const { return 0; } // Not indexed. 00032 00033 // Setters. 00034 virtual void SetBackMedian(const Double_t median) { fbackMedian = median; } 00035 virtual void SetBackMedianErr(const Double_t medianErr) { fbackMedianErr = medianErr; } 00036 virtual void SetFrontMedian(const Double_t median) { ffrontMedian=median; } 00037 virtual void SetFrontMedianErr(const Double_t medianErr) { ffrontMedianErr = medianErr; } 00038 virtual void SetNonFidMedian(const Double_t median) { fnonFidMedian = median; } 00039 virtual void SetNonFidMedianErr(const Double_t medianErr) { fnonFidMedianErr = medianErr; } 00040 virtual void SetNumMuons(const Int_t numMuons) { fnumMuons = numMuons; } 00041 virtual void SetNumPlanes(const Int_t numPlanes) { fnumPlanes = numPlanes; } 00042 virtual void SetMean(const Double_t mean) { fmean = mean; } 00043 virtual void SetMeanErr(const Double_t meanErr) { fmeanErr = meanErr; } 00044 virtual void SetMedian(const Double_t median) { fmedian = median; } 00045 virtual void SetMedianErr(const Double_t medianErr) { fmedianErr = medianErr; } 00046 virtual void SetPeak(const Double_t peak) { fpeak = peak; } 00047 virtual void SetPeakErr(const Double_t peakErr) { fpeakErr = peakErr; } 00048 virtual void SetQuantile50(const Double_t quantile50) { fquantile50 = quantile50; } 00049 virtual void SetRecoVersion(const std::string recoVersion) { frecoVersion = recoVersion; } 00050 00051 // Getters. 00052 virtual Float_t GetMean() const { return fmean; } 00053 virtual Float_t GetMeanAsR1_18_2(const Detector::Detector_t det) const; 00054 virtual Float_t GetMeanErr() const {return fmeanErr;} 00055 virtual Float_t GetMedian() const { return fmedian; } 00056 virtual Float_t GetFrontMedian() const { return ffrontMedian; } 00057 virtual Float_t GetFrontMedianErr() const { return ffrontMedianErr; } 00058 virtual Float_t GetBackMedian() const { return fbackMedian; } 00059 virtual Float_t GetBackMedianErr() const { return fbackMedianErr; } 00060 virtual Float_t GetMedianRecoFactor(const Detector::Detector_t det) const; 00061 virtual Float_t GetMedianAsR1_18_2(const Detector::Detector_t det) const; 00062 virtual Float_t GetMedianErrAsR1_18_2(const Detector::Detector_t det) const; 00063 virtual Float_t GetMedianErr() const { return fmedianErr; } 00064 virtual Int_t GetNumMuons() const { return fnumMuons;} 00065 virtual Int_t GetNumPlanes() const { return fnumPlanes;} 00066 virtual std::string GetRecoVersion() const {return frecoVersion;} 00067 00068 // Calibration code (test only) 00069 virtual const Float_t CalibratedPH(const Float_t ph, 00070 const VldContext& cxNow, 00071 const VldContext& cxRef ) const; 00072 00073 private: 00074 Double_t fbackMedian; 00075 Double_t fbackMedianErr; 00076 Double_t ffrontMedian; 00077 Double_t ffrontMedianErr; 00078 Double_t fnonFidMedian; 00079 Double_t fnonFidMedianErr; 00080 Int_t fnumMuons; 00081 Int_t fnumPlanes; 00082 Double_t fmean; 00083 Double_t fmeanErr; 00084 Double_t fmedian; 00085 Double_t fmedianErr; 00086 Double_t fpeak; 00087 Double_t fpeakErr; 00088 Double_t fquantile50; 00089 std::string frecoVersion; 00090 Double_t fdriftQuantity1; 00091 Double_t fdriftQuantity2; 00092 00093 // private: 00094 public: 00095 CalDrift(const CalDrift& from) : DbiTableRow(from) { LEA_CTOR; *this = from; }; 00096 00097 00098 ClassDef(CalDrift,3) 00099 }; 00100 //____________________________________________________________________72 00101 00102 #endif
1.3.9.1