// -*- mode: c++ -*- // // $Id: BrTpcDriftFibCalModule.h,v 1.3 2002/03/14 21:45:42 videbaek Exp $ // $Author: videbaek $ // $Date: 2002/03/14 21:45:42 $ // $Copyright: (C) 2001 BRAHMS Collaboration // #ifndef BRAT_BrTpcDriftFibCalModule #define BRAT_BrTpcDriftFibCalModule #ifndef BRAT_BrTpcCalModule #include "BrTpcCalModule.h" #endif #ifndef ROOT_TArrayI #include "TArrayI.h" #endif #ifndef ROOT_TArrayF #include "TArrayF.h" #endif class TH1F; class TH2F; class BrEventNode; class TGraphErrors; class BrTpcDriftFibCalModule : public BrTpcCalModule { private: Char_t* fFibreName; // Fibre name ex : T1F, T2B Int_t fFitWidth; // Peaks fitted in range bin_max +- fFitWidth TArrayI* fValidFibres; // (0 = not instru (default), !0 = instru) Float_t fFibreZPosition; // fibre z positions TArrayF* fFibreYPositions; // Array of fibre y positions TArrayF* fFibreAdcCuts; // Array of fibre adc cuts TH1F** hFibres; TH1F** hFibresAdc; TH2F* hFibresXY; TGraphErrors* fDriftVelocityGraph; void SetDetectorParameters(); protected: virtual void ReadAscii(); virtual void SaveAscii(); enum {kMaxFibres = 6}; // max number of fibres (currently 6) public: BrTpcDriftFibCalModule(); BrTpcDriftFibCalModule(const Char_t* name, const Char_t* title); virtual ~BrTpcDriftFibCalModule () {} void SetFibreName(Char_t* name) {fFibreName = name;} void SetFitWidth(Int_t value = 5) {fFitWidth = value;} void SetFibreZPosition(Float_t value = 0) {fFibreZPosition = value;} void SetFibreYPosition(Int_t nFiber, Float_t pos) {fValidFibres->AddAt(1, nFiber); fFibreYPositions->AddAt(pos, nFiber);} void SetFibreAdcCuts(Int_t nFiber, Float_t cut) {fFibreAdcCuts->AddAt(cut, nFiber);} virtual void DefineHistograms(); virtual void Init(); virtual void Begin(); virtual void Event(BrEventNode* inNode, BrEventNode* outNode); virtual void Finish(); virtual void Print(Option_t* option="B") const; // *MENU* ClassDef(BrTpcDriftFibCalModule,0) // Drift velocity calib using fibres }; #endif //____________________________________________________________________ // // $Log: BrTpcDriftFibCalModule.h,v $ // Revision 1.3 2002/03/14 21:45:42 videbaek // Added some additional histograms for checking of ADC distributions // and xy position dependence of projections onto fibres. // // Revision 1.2 2001/11/13 10:21:36 pchristi // Changed const to enum to make it more compile friendly // // Revision 1.1 2001/11/02 13:38:54 pchristi // Added new module for calibrating drift velocities using the fibres behind // T2 and in front of T1. // Updated old modules with small changes. // //