ROOT logo
#ifndef AliT0CalibTimeEq_H
#define AliT0CalibTimeEq_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

////////////////////////////////////////////////
//  class for T0 calibration                 //
////////////////////////////////////////////////

#include "TNamed.h"
#include "TH1F.h"

class AliT0CalibTimeEq: public TNamed {

 public:
  AliT0CalibTimeEq();
  AliT0CalibTimeEq(const char* name);
  AliT0CalibTimeEq(const AliT0CalibTimeEq &calibda);
  AliT0CalibTimeEq& operator= (const AliT0CalibTimeEq &calibda);
  virtual ~AliT0CalibTimeEq();
  void Reset();
  
  virtual void  Print(Option_t* option= "") const; 
  
  Bool_t ComputeOnlineParams(const char* filePhys);
  Int_t ComputeOfflineParams(const char* filePhys, Float_t *timecdb,Float_t *cfdcdb, Int_t badpmt);
  Float_t  GetCFDvalue(Int_t channel,Int_t number)  const {return fCFDvalue[channel][number];}
  Float_t* GetCFDvalue()          const {return (float*)fCFDvalue;}
  Float_t  GetTimeEq(Int_t channel)        const {return fTimeEq[channel];}
  Float_t* GetTimeEq()          const {return (float*)fTimeEq;}
 
  Float_t  GetTimeEqRms(Int_t channel)        const {return fTimeEqRms[channel];}

  Float_t  GetMeanT0() const {return 1.;} // WARNING: USED IN AliT0Parameters!!!!
   void SetCFDvalue(Int_t channel, Int_t number, Float_t val) {fCFDvalue[channel][number]=val;}
  void SetTimeEq(Int_t channel, Float_t val) {fTimeEq[channel]=val;}
  void  SetTimeEqRms(Int_t channel, Float_t rms)  { fTimeEqRms[channel]=rms;}
  
  void SetMeanVertex(Float_t mean=0) { fMeanVertex = mean; };
  Float_t GetMeanVertex () {return fMeanVertex;};

  void SetRmsVertex(Float_t rms=0) { fRmsVertex = rms; };
  Float_t GetRmsVertex () {return fRmsVertex;};


 protected:

  void GetMeanAndSigma(TH1F* hist, Float_t &mean, Float_t &sigma); 
  Float_t     fCFDvalue[24][5];       // CFD values
  Float_t     fTimeEq[24];	      // Time Equalized for OCDB	 
  Float_t     fTimeEqRms[24];	      // RMS of Time Equalized for OCDB	 
  Float_t     fMeanVertex;            // mean of vertex distribution   
  Float_t     fRmsVertex;            // RMS of vertex distribution   
 
 //
  ClassDef(AliT0CalibTimeEq,4)    // T0 Sensor Calibration data
};

typedef AliT0CalibTimeEq AliSTARTCalibTimeEq; // for backward compatibility

#endif

 AliT0CalibTimeEq.h:1
 AliT0CalibTimeEq.h:2
 AliT0CalibTimeEq.h:3
 AliT0CalibTimeEq.h:4
 AliT0CalibTimeEq.h:5
 AliT0CalibTimeEq.h:6
 AliT0CalibTimeEq.h:7
 AliT0CalibTimeEq.h:8
 AliT0CalibTimeEq.h:9
 AliT0CalibTimeEq.h:10
 AliT0CalibTimeEq.h:11
 AliT0CalibTimeEq.h:12
 AliT0CalibTimeEq.h:13
 AliT0CalibTimeEq.h:14
 AliT0CalibTimeEq.h:15
 AliT0CalibTimeEq.h:16
 AliT0CalibTimeEq.h:17
 AliT0CalibTimeEq.h:18
 AliT0CalibTimeEq.h:19
 AliT0CalibTimeEq.h:20
 AliT0CalibTimeEq.h:21
 AliT0CalibTimeEq.h:22
 AliT0CalibTimeEq.h:23
 AliT0CalibTimeEq.h:24
 AliT0CalibTimeEq.h:25
 AliT0CalibTimeEq.h:26
 AliT0CalibTimeEq.h:27
 AliT0CalibTimeEq.h:28
 AliT0CalibTimeEq.h:29
 AliT0CalibTimeEq.h:30
 AliT0CalibTimeEq.h:31
 AliT0CalibTimeEq.h:32
 AliT0CalibTimeEq.h:33
 AliT0CalibTimeEq.h:34
 AliT0CalibTimeEq.h:35
 AliT0CalibTimeEq.h:36
 AliT0CalibTimeEq.h:37
 AliT0CalibTimeEq.h:38
 AliT0CalibTimeEq.h:39
 AliT0CalibTimeEq.h:40
 AliT0CalibTimeEq.h:41
 AliT0CalibTimeEq.h:42
 AliT0CalibTimeEq.h:43
 AliT0CalibTimeEq.h:44
 AliT0CalibTimeEq.h:45
 AliT0CalibTimeEq.h:46
 AliT0CalibTimeEq.h:47
 AliT0CalibTimeEq.h:48
 AliT0CalibTimeEq.h:49
 AliT0CalibTimeEq.h:50
 AliT0CalibTimeEq.h:51
 AliT0CalibTimeEq.h:52
 AliT0CalibTimeEq.h:53
 AliT0CalibTimeEq.h:54
 AliT0CalibTimeEq.h:55
 AliT0CalibTimeEq.h:56
 AliT0CalibTimeEq.h:57
 AliT0CalibTimeEq.h:58
 AliT0CalibTimeEq.h:59
 AliT0CalibTimeEq.h:60
 AliT0CalibTimeEq.h:61
 AliT0CalibTimeEq.h:62
 AliT0CalibTimeEq.h:63