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