//-*- mode:c++ -*- /////////////////////////////////////////////////////////////// // // // BrTofCalibration // // // // Class passing calibration parameters for TOF detectors // // // /////////////////////////////////////////////////////////////// // // $Id: BrTofCalibration.h,v 1.9 2002/03/20 19:27:31 videbaek Exp $ // $Author: videbaek $ // $Date: 2002/03/20 19:27:31 $ // $Copyright: (C) 2001 BRAHMS Collaboration // #ifndef BRAT_BrTofCalibration #define BRAT_BrTofCalibration #ifndef BRAT_BrCalibration #include "BrCalibration.h" #endif #ifndef BRAT_BrDetectorParamsTof #include "BrDetectorParamsTof.h" #endif class BrDetectorParamsTof; class BrTofCalibration : public BrCalibration { public: enum EBrCalException { kCalException = -1111 }; BrTofCalibration(); BrTofCalibration(Char_t *name,Char_t *title); virtual ~BrTofCalibration(); // getters Float_t GetTopPedestal(Int_t slat) const; Float_t GetTopPedestalWidth(Int_t slat) const; Float_t GetTopTdcGain(Int_t slat) const; Float_t GetTopTdcOffset(Int_t slat) const; Float_t GetTopAdcGain(Int_t slat) const; Float_t GetTopSlewPar1(Int_t slat) const; Float_t GetTopSlewPar2(Int_t slat) const; Float_t GetTopAdcGapStart(Int_t) const; Float_t GetTopAdcGap(Int_t) const; Float_t GetBotPedestal(Int_t slat) const; Float_t GetBotPedestalWidth(Int_t slat) const; Float_t GetBotTdcGain(Int_t slat) const; Float_t GetBotTdcOffset(Int_t slat) const; Float_t GetBotAdcGain(Int_t slat) const; Float_t GetBotSlewPar1(Int_t slat) const; Float_t GetBotSlewPar2(Int_t slat) const; Float_t GetBotAdcGapStart(Int_t) const; Float_t GetBotAdcGap(Int_t) const; Float_t GetDeltaDelay(Int_t slat) const; Float_t GetEffSpeedOfLight(Int_t slat) const; Float_t GetTimeOffset(Int_t slat) const; // setters void SetTopPedestal(Int_t slat, Float_t value); void SetTopPedestalWidth(Int_t slat, Float_t value); void SetTopAdcGain(Int_t slat, Float_t value); void SetTopTdcGain (Int_t slat, Float_t value); void SetTopTdcOffset(Int_t slat, Float_t value); void SetTopSlewPar1(Int_t slat, Float_t value); void SetTopSlewPar2(Int_t slat, Float_t value); void SetTopAdcGapStart(Int_t, Float_t); void SetTopAdcGap(Int_t, Float_t); void SetBotPedestal(Int_t slat, Float_t value); void SetBotPedestalWidth(Int_t slat, Float_t value); void SetBotAdcGain(Int_t slat, Float_t value); void SetBotTdcGain (Int_t slat, Float_t value); void SetBotTdcOffset(Int_t slat, Float_t value); void SetBotSlewPar1(Int_t slat, Float_t value); void SetBotSlewPar2(Int_t slat, Float_t value); void SetBotAdcGapStart(Int_t, Float_t); void SetBotAdcGap(Int_t, Float_t); void SetDeltaDelay(Int_t slat, Float_t value); void SetEffSpeedOfLight(Int_t slat, Float_t value); void SetTimeOffset(Int_t slat, Float_t value); Bool_t ValidCalibration(Int_t); // Int_t GetAccessMode(const Char_t* par) const; // ------- method to get the calibration data virtual const BrCalibrationData* const GetTopPedestal() const { return &fTopPedestal; } virtual const BrCalibrationData* const GetTopPedestalWidth() const { return &fTopPedestalWidth; } virtual const BrCalibrationData* const GetTopAdcGain() const { return &fTopAdcGain; } virtual const BrCalibrationData* const GetTopAdcGap() const { return &fTopAdcGap; } virtual const BrCalibrationData* const GetTopTdcGain() const { return &fTopTdcGain; } virtual const BrCalibrationData* const GetTopTdcOffset() const { return &fTopTdcOffset; } virtual const BrCalibrationData* const GetTopSlewPar1() const { return &fTopSlewPar1; } virtual const BrCalibrationData* const GetTopSlewPar2() const { return &fTopSlewPar2; } virtual const BrCalibrationData* const GetBotPedestal() const { return &fBotPedestal; } virtual const BrCalibrationData* const GetBotPedestalWidth() const { return &fBotPedestalWidth; } virtual const BrCalibrationData* const GetBotAdcGain() const { return &fBotAdcGain; } virtual const BrCalibrationData* const GetBotTdcGain() const { return &fBotTdcGain; } virtual const BrCalibrationData* const GetBotTdcOffset() const { return &fBotTdcOffset; } virtual const BrCalibrationData* const GetBotSlewPar1() const { return &fBotSlewPar1; } virtual const BrCalibrationData* const GetBotSlewPar2() const { return &fBotSlewPar2; } virtual const BrCalibrationData* const GetTimeOffset() const { return &fTimeOffset; } virtual const BrCalibrationData* const GetDeltaDelay() const { return &fDeltaDelay; } virtual const BrCalibrationData* const GetEffSpeedOfLight() const { return &fEffSpeedOfLight; } private: void CheckSlat(Int_t slat) const; mutable Bool_t fSlatOutOfBound; //! BrCalibrationData fTopPedestal; //!pedestal Values BrCalibrationData fTopPedestalWidth; //!pedestal Width Values BrCalibrationData fTopAdcGain; //!Adc gain structure BrCalibrationData fTopTdcGain; //!Tdc gain structure BrCalibrationData fTopTdcOffset; //!Tdc offset structure BrCalibrationData fTopSlewPar1; //!Slewing parameter 1 BrCalibrationData fTopSlewPar2; //!slewing parameter 2 BrCalibrationData fTopAdcGapStart; //!Adc gap start structure BrCalibrationData fTopAdcGap; //!Adc gap structure BrCalibrationData fBotPedestal; //!pedestal Values BrCalibrationData fBotPedestalWidth; //!pedestal Width Values BrCalibrationData fBotAdcGain; //!Adc gain structure BrCalibrationData fBotTdcGain; //! BrCalibrationData fBotTdcOffset; //! BrCalibrationData fBotSlewPar1; //! BrCalibrationData fBotSlewPar2; //! BrCalibrationData fBotAdcGapStart; //!Adc gap start structure BrCalibrationData fBotAdcGap; //!Adc gap structure BrCalibrationData fDeltaDelay; //!Delay between bot and top BrCalibrationData fEffSpeedOfLight; //!Effective speed of light in slat BrCalibrationData fTimeOffset; //!Time offset (slat by slat) BrDetectorParamsTof* fParamsTof; //! This is a bit dubious - should not really be here (dependences.) public: ClassDef(BrTofCalibration, 5) // BRAHMS tof calibration parameter class }; #endif ////////////////////////////////////////////////////////////////////// // // $Log: BrTofCalibration.h,v $ // Revision 1.9 2002/03/20 19:27:31 videbaek // Add AdcGap and AdcGapStart for calibration class. This is used for TD1 // (and TMRS ) only. It is discarded in code for other TOF cases. // // Revision 1.8 2002/01/31 15:25:17 ouerdane // Added getters to get the BrCalibrationData pointers // // Revision 1.7 2001/11/12 14:57:07 ouerdane // added parameter timeOffset and updated version number to 4 // // Revision 1.6 2001/10/08 10:27:37 cholm // Changed detector calibration data classes to derive from BrCalibration, // rather than BrParameterElement, since that has been replaced. Impact // on various modules, and so on. Some user code may need to be changed to. // // Revision 1.5 2001/10/02 01:45:56 ouerdane // Added method GetAccessMode to know in cal modules which mode the parameter is set to // // Revision 1.4 2001/07/31 09:09:15 ouerdane // Made Getters const, member fSlatOutOfBound mutable and non persistent // Changed class version number to 3 // // Revision 1.3 2001/07/01 12:04:31 cholm // Moved RevisionExists from this class to BrParameterElemenent (see also // that class' implementation files log message), and merge some // conflicts. Class version was bumped to 2 - this is important when you // change the data members. With ROOT 3 schema evolution that is // fortunately the only thing one has to do :-) // // Revision 1.4 2001/06/21 12:11:20 ouerdane // Changed name of a method (SlatIsCalibrated is now ValidCalibration) // This method checks if one the calibration parameters is // equal to BrTofCalibration::kCalException. If so, ignore slat // for recontruction in BrTofRdoModule // // Revision 1.3 2001/06/20 09:42:19 ouerdane // Finally changed exception value to -1111 // // Revision 1.2 2001/06/20 09:12:31 ouerdane // Changed value of BrTofCalibration::kCalException to 999999 // Removed the old exception in BrTofCalModule // // Revision 1.1 2001/06/19 12:44:45 ouerdane // Added calibration classes and reconstruction classes. // Brat compiles but these classes haven't been tested in this // context. Be careful if you use them before I (DO) check if // all is ok. // // Revision 1.6 2001/06/06 18:04:25 ouerdane // Made ClassDef public // // Revision 1.5 2001/06/06 15:34:24 ouerdane // see implementation file // // Revision 1.4 2001/05/31 22:07:51 ouerdane // removed const from getters // // Revision 1.3 2001/05/31 21:36:32 ouerdane // Bug fixes in Getters and Setters (to check if the slat number if out of bound) // // Revision 1.2 2001/05/31 18:48:23 ouerdane // Added a public method Bool_t RevisionExists(Char_t*) // The user can check if a revision definitely exists in the // database by calling this method (use the paramater name as argument) // // Revision 1.1 2001/05/30 17:20:43 ouerdane // The TOF detector calibration package is released! // To have all kind of details about it, please consult the README file. // For trouble-shooting, bugs, comments, send email to ouerdane@nbi.dk // or brahms-tof-l@bnl.gov // Enjoy! //