Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

PulserGainPin.h

Go to the documentation of this file.
00001 
00002 // $Id: PulserGainPin.h,v 1.5 2005/10/27 09:37:34 cpw1 Exp $
00003 //
00004 // PulserGainPin.h
00005 //
00006 // Dbi object for raw gain curve info
00007 //
00008 // Author: Phil Adamson 7/2003
00009 //
00010 // $Log: PulserGainPin.h,v $
00011 // Revision 1.5  2005/10/27 09:37:34  cpw1
00012 // Add methods ZCMean and ZCError
00013 //
00014 // Revision 1.4  2004/10/25 20:04:54  murgia
00015 // Include expected number of points in AddPoint.
00016 //
00017 // Revision 1.3  2004/09/17 16:58:38  phil.adamson
00018 // Try to fix aggregate number and stripend missing bugs
00019 //
00020 // Revision 1.2  2004/09/14 22:01:47  phil.adamson
00021 //
00022 //
00023 // A couple of minor fixes
00024 //
00025 // Revision 1.1  2004/09/08 21:50:51  pa
00026 // Checkin of new PulserCalibration version. MIght even work
00027 //
00028 //
00030 
00031 #ifndef PULSERGAINPIN_H
00032 #define PULSERGAINPIN_H
00033 
00034 #include "Rtypes.h"
00035 #include "DatabaseInterface/DbiTableRow.h"
00036 #include "PulserCalibration/PulserSummary.h"
00037 
00038 class DbiValidityRec;
00039 
00040 class PulserGainPin: public DbiTableRow
00041 {
00042  public:
00043   PulserGainPin();
00044   //  PulserGainPin(Int_t aggNo, Int_t seid, Float_t *mean, Float_t *error,
00045   //            Float_t *num_entries);
00046   virtual ~PulserGainPin() {};
00047 
00048  
00049   bool AddPoint(Int_t point, const PulserSummary &ps, int aggNo, int expectedPoints);
00050   bool Add(const PulserGainPin &pg);
00051 
00052   Int_t GetAggregateNo() const { return fAggregateNo; }
00053   UInt_t GetIndex(UInt_t /* defIndex */) const { return fPlexPinDiodeId.GetEncoded(); }
00054   PlexPinDiodeId GetStripEnd() const {return fPlexPinDiodeId;}
00055   PlexPinDiodeId GetPinDiodeId() const {return fPlexPinDiodeId;}
00056   Int_t GetNumPoints() const {return fNumPoints;}
00057   Int_t GetFirstPoint() const {return fFirstPoint;}
00058   Int_t GetLastPoint() const {return fLastPoint;}
00059   const Float_t *GetMean() const {return fMean;}
00060   const Float_t *GetError() const {return fError;}
00061   const Float_t *GetNumEntries() const {return fNumEntries;}
00062   const Float_t *GetNumTriggers() const {return fNumTriggers;}
00063   Float_t ZCMean(Int_t i);
00064   Float_t ZCError(Int_t i);
00065 
00066 
00067   virtual DbiTableRow* CreateTableRow() const { return new PulserGainPin;}
00068   
00069   
00070   virtual void Fill(DbiResultSet& rs,
00071                     const DbiValidityRec* vrec);
00072   virtual void Store(DbiOutRowStream& ors,
00073                      const DbiValidityRec* vrec) const;
00074 
00075  private:
00076   Int_t fAggregateNo;
00077   PlexPinDiodeId fPlexPinDiodeId;
00078   Int_t fNumPoints;
00079   Int_t fFirstPoint; // First point that we have in a partial gc
00080   Int_t fLastPoint;  // last point that we have in a partial
00081                      // note that if we have say 1-4 and 7-10, they'll be
00082                      // 2 different partials till we merge when we have the 
00083                      // middle bit
00084   Float_t fMean[40];  
00085   Float_t fError[40];
00086   Float_t fNumEntries[40];
00087   Float_t fNumTriggers[40];
00088 
00089 ClassDef(PulserGainPin,0)
00090 };
00091 #endif // PULSERGAINPIN_H  

Generated on Fri Mar 28 15:38:14 2008 for loon by  doxygen 1.3.9.1