//-*- mode:c++ -*- // $Id: BrTpcCalibration.h,v 1.5 2002/08/15 16:15:52 videbaek Exp $ // $Author: videbaek $ // $Date: 2002/08/15 16:15:52 $ #ifndef BRAT_BrTPCCalibrationParams #define BRAT_BrTPCCalibrationParams //BRAT classes #ifndef BRAT_BrDbTable #include "BrDbTable.h" #endif #ifndef BRAT_BrCalibration #include "BrCalibration.h" #endif #ifndef BRAT_BrCalibrationsDb #include "BrCalibrationsDb.h" #endif // define calibration parameter names class BrTpcCalibration : public BrCalibration { private: enum EInstRows { kNotInst = 0, kInst = 1 }; // TPC based calibration parameters BrCalibrationData fDriftVelocity; //Drift velocity // row based calibration parameters BrCalibrationData fInstrumentedRows; //Instrumented // The time offsets are explained in BrDetectorParamsTPC BrCalibrationData fTimeOffset0; //Time offsets (constant) BrCalibrationData fTimeOffset1; //Time offsets (slope) // Pad based calibration parameters BrCalibrationData fPadStatus; //Status of pad BrCalibrationData fPadAdcGain; //Fee card Gain BrCalibrationData fPadDeltaTime; //Fee card DeltaTime // other private variables Int_t fRows; //Number of rows in TPC Int_t fPadsPrRow; //Pads pr row in TPC // private methods Int_t RowPadTo1D(Int_t row, Int_t pad) const; Int_t RowTo1D(Int_t row) const; public: BrTpcCalibration(); BrTpcCalibration(Char_t* name, Char_t* title); virtual const BrCalibrationData* const GetDriftVelocityData() const {return &fDriftVelocity;} virtual const BrCalibrationData* const GetInstrumentedRowsData() const {return &fInstrumentedRows;} virtual const BrCalibrationData* const GetTimeOffset0Data() const {return &fTimeOffset0;} virtual const BrCalibrationData* const GetTimeOffset1Data() const {return &fTimeOffset1;} virtual const BrCalibrationData* const GetPadStatusData() const {return &fPadStatus;} virtual const BrCalibrationData* const GetPadAdcGain() const {return &fPadAdcGain;} virtual const BrCalibrationData* const GetPadDeltaTime() const {return &fPadDeltaTime;} virtual Int_t GetAccessMode(const Char_t* par) const; virtual Float_t GetDriftVelocity(void) const; virtual Int_t GetInstrumentedRows(Int_t row) const; virtual Short_t GetPadStatus(Int_t row, Int_t pad) const; virtual Float_t GetPadAdcGain(Int_t row, Int_t pad) const; virtual Float_t GetPadDeltaTime(Int_t row, Int_t pad) const; virtual Float_t GetTimeOffset0(Int_t row) const; virtual Float_t GetTimeOffset1(Int_t row) const; virtual void SetDriftVelocity(Float_t value); virtual void SetInstrumentedRows(Int_t row, Int_t value); virtual void SetPadStatus(Int_t row, Int_t pad, Short_t value); virtual void SetPadAdcGain(Int_t row, Int_t pad, Float_t value); virtual void SetPadDeltaTime(Int_t row, Int_t pad, Float_t value); virtual void SetTimeOffset0(Int_t row, Float_t value); virtual void SetTimeOffset1(Int_t row, Float_t value); static Char_t* kDriftVelocity; //! static Char_t* kInstrumentedRows; //! static Char_t* kTimeOffset0; //! static Char_t* kTimeOffset1; //! static Char_t* kPadStatus; //! static Char_t* kPadAdcGain; //! static Char_t* kPadDeltaTime; //! ClassDef(BrTpcCalibration, 3) // BRAHMS TPC calibration class } ; #endif //_________________________________________________________________ // $Log: BrTpcCalibration.h,v $ // Revision 1.5 2002/08/15 16:15:52 videbaek // Commit changes made to be able to apply adcgain correction // as well as 'timing' offsets. This still has to be worked completely // out how to calibrate and how to use. // // Revision 1.4 2001/11/28 15:18:28 pchristi // Changed padstatus to short and removed hitwidths. // // Revision 1.3 2001/11/15 13:40:17 pchristi // Modified Get*Data to return pointers instead of references because of unexpected error // that I did not understand. // // Revision 1.2 2001/11/15 12:46:46 pchristi // Added methods to get the BrCalibrationData and thereby the run no for the calibration. // // Revision 1.1 2001/10/12 11:00:47 pchristi // Added a BrTpcCalibration base class for the TPC calibrations. // //