00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00027
00028 #ifndef PULSERDRIFTPIN_H
00029 #define PULSERDRIFTPIN_H
00030
00031 #include "Rtypes.h"
00032 #include "DatabaseInterface/DbiTableRow.h"
00033 #include "PulserCalibration/PulserSummary.h"
00034 #include "Plex/PlexPinDiodeId.h"
00035
00036 class DbiValidityRec;
00037
00038 class PulserDriftPin: public DbiTableRow
00039 {
00040
00041 public:
00042 PulserDriftPin();
00043 PulserDriftPin(Int_t aggNo, PlexPinDiodeId pinid, Float_t mean, Float_t error,
00044 Float_t num_entries, Float_t num_triggers);
00045 PulserDriftPin(Int_t aggNo,const PulserSummary &ps);
00046 virtual ~PulserDriftPin() {};
00047
00048 void New(Int_t aggNo, PlexPinDiodeId pinid,const PulserSummary &ps);
00049
00050 Int_t GetAggregateNo() const { return fAggregateNo; }
00051 UInt_t GetIndex(UInt_t ) const { return fPlexPinDiodeId.GetEncoded(); }
00052 PlexPinDiodeId GetStripEnd() const {return fPlexPinDiodeId;}
00053 PlexPinDiodeId GetPinDiodeId() const {return fPlexPinDiodeId;}
00054 Float_t GetMean() const {return fMean;}
00055 Float_t GetError() const {return fError;}
00056 Float_t GetNumEntries() const {return fNumEntries;}
00057 Float_t GetNumTriggers() const {return fNumTriggers;}
00058 Float_t ZCMean() const;
00059 Float_t ZCError() const;
00060
00061 virtual DbiTableRow* CreateTableRow() const { return new PulserDriftPin;}
00062
00063
00064 virtual void Fill(DbiResultSet& rs,
00065 const DbiValidityRec* vrec);
00066 virtual void Store(DbiOutRowStream& ors,
00067 const DbiValidityRec* vrec) const;
00068
00069 private:
00070 Int_t fAggregateNo;
00071 PlexPinDiodeId fPlexPinDiodeId;
00072 Float_t fMean;
00073 Float_t fError;
00074 Float_t fNumEntries;
00075 Float_t fNumTriggers;
00076 ClassDef(PulserDriftPin,0)
00077 };
00078
00079 #endif // PULSERDRIFTPIN_H