Bug corrected.
[u/mrichter/AliRoot.git] / STEER / AliTOFHeader.h
1 #ifndef ALITOFHEADER_H
2 #define ALITOFHEADER_H
3 /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 //-------------------------------------------------------
9 //  Class for TOF event times, time resolution and T0spread
10 //          for the Event Data Summary Class
11 //   Origin: A.De Caro, Salerno, decaro@sa.infn.it
12 //-------------------------------------------------------
13
14 /**************************************************************
15  *                                                            *
16  * This class deals with:                                     *
17  *       event time estimated by TOF combinatorial algorithm; *
18  *       event time resolution;                               *
19  *       TOF time resolution as written in TOF OCDB;          *
20  *       T0spread as written in GRP.                          *
21  *                                                            *
22  **************************************************************/
23
24 #include "TObject.h"
25 //#include "TArrayF.h"
26 //#include "TArrayI.h"
27
28 class TArrayI;
29 class TArrayF;
30
31 class AliTOFHeader : public TObject {
32  
33  public:
34  
35   AliTOFHeader();
36   AliTOFHeader(Float_t defEvTime, Float_t defResEvTime,
37                Int_t nDifPbins, Float_t *times, Float_t *res,
38                Int_t *nPbin, Float_t tofTimeRes, Float_t t0spread);
39   AliTOFHeader(const AliTOFHeader &source);
40   AliTOFHeader &operator=(const AliTOFHeader &source);
41   virtual void Copy(TObject &obj) const;
42
43   virtual ~AliTOFHeader();
44
45   void SetTOFResolution(Float_t res) {fTOFtimeResolution=res;}
46   Float_t GetTOFResolution() const {return fTOFtimeResolution;}
47
48   void SetT0spread(Float_t res) {fT0spread=res;}
49   Float_t GetT0spread() const {return fT0spread;}
50
51   Float_t GetDefaultEventTimeVal() const {return fDefaultEventTimeValue;}
52   Float_t GetDefaultEventTimeRes() const {return fDefaultEventTimeRes;}
53   TArrayF *GetEventTimeValues()    const {return fEventTimeValues;}
54   TArrayF *GetEventTimeRes()       const {return fEventTimeRes;}
55   TArrayI *GetNvalues()            const {return fNvalues;}
56   Int_t   GetNbins()               const {return fNvalues->GetSize();}
57
58   void SetDefaultEventTimeVal(Float_t val) {fDefaultEventTimeValue=val;}
59   void SetDefaultEventTimeRes(Float_t res) {fDefaultEventTimeRes=res;}
60   void SetEventTimeValues(TArrayF *arr);
61   void SetEventTimeRes(TArrayF *arr);
62   void SetNvalues(TArrayI *arr);
63   void SetNbins(Int_t nbins);
64
65  protected:
66
67   Float_t  fDefaultEventTimeValue; // TOF event time value more frequent
68   Float_t  fDefaultEventTimeRes;   // TOF event time res more frequent
69   Int_t    fNbins;                 // number of bins with TOF event
70                                    // time values different from
71                                    // default one
72   TArrayF *fEventTimeValues;       // array for TOF event time values
73                                    // different from default one
74   TArrayF *fEventTimeRes;          // array for TOF event time resolutions
75   TArrayI *fNvalues;               // array for order numbers of momentum bin
76   Float_t fTOFtimeResolution;      // TOF time resolution as written in TOF OCDB
77   Float_t fT0spread;               // t0spread as written in TOF OCDB
78
79  private:
80
81   ClassDef(AliTOFHeader,1)  // Class for TOF event times and so on
82 };
83
84 #endif
85
86
87
88
89
90
91