ROOT logo
#ifndef ALITOFHEADER_H
#define ALITOFHEADER_H
/* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

//-------------------------------------------------------
//  Class for TOF event times, time resolution and T0spread
//          for the Event Data Summary Class
//   Origin: A.De Caro, Salerno, decaro@sa.infn.it
//-------------------------------------------------------

/**************************************************************
 *                                                            *
 * This class deals with:                                     *
 *       event time estimated by TOF combinatorial algorithm; *
 *       event time resolution;                               *
 *       TOF time resolution as written in TOF OCDB;          *
 *       T0spread as written in GRP.                          *
 *                                                            *
 **************************************************************/

#include "TObject.h"
//#include "TArrayF.h"
//#include "TArrayI.h"
#include "AliTOFTriggerMask.h"

class TArrayI;
class TArrayF;

class AliTOFHeader : public TObject {
 
 public:
 
  AliTOFHeader();
  AliTOFHeader(Float_t defEvTime, Float_t defResEvTime,
	       Int_t nDifPbins, Float_t *times, Float_t *res,
	       Int_t *nPbin, Float_t tofTimeRes, Float_t t0spread);
  AliTOFHeader(const AliTOFHeader &source);
  AliTOFHeader &operator=(const AliTOFHeader &source);
  virtual void Copy(TObject &obj) const;

  virtual ~AliTOFHeader();

  void SetTOFResolution(Float_t res) {fTOFtimeResolution=res;}
  Float_t GetTOFResolution()       const {return fTOFtimeResolution;}

  void SetT0spread(Float_t res)      {fT0spread=res;}
  Float_t GetT0spread()            const {return fT0spread;}

  Float_t GetDefaultEventTimeVal() const {return fDefaultEventTimeValue;}
  Float_t GetDefaultEventTimeRes() const {return fDefaultEventTimeRes;}
  TArrayF *GetEventTimeValues()    const {return fEventTimeValues;}
  TArrayF *GetEventTimeRes()       const {return fEventTimeRes;}
  TArrayI *GetNvalues()            const {return fNvalues;}
  Int_t GetNbins()                 const {return fNvalues ? fNvalues->GetSize() : 0;}
  Int_t GetNumberOfTOFclusters()   const {return fNumberOfTOFclusters;}
  Int_t GetNumberOfTOFtrgPads()    const {return fNumberOfTOFtrgPads;}
  Int_t GetNumberOfTOFmaxipad()    const {if(fTrigMask) return fTrigMask->GetNumberMaxiPadOn(); else return 0;}
  AliTOFTriggerMask *GetTriggerMask() const {return fTrigMask;}

  void SetDefaultEventTimeVal(Float_t val) {fDefaultEventTimeValue=val;}
  void SetDefaultEventTimeRes(Float_t res) {fDefaultEventTimeRes=res;}
  void SetEventTimeValues(TArrayF *arr);
  void SetEventTimeRes(TArrayF *arr);
  void SetNvalues(TArrayI *arr);
  void SetNbins(Int_t nbins);
  void SetNumberOfTOFclusters(Int_t a) {fNumberOfTOFclusters=a;}
  void SetNumberOfTOFtrgPads(Int_t a) {fNumberOfTOFtrgPads=a;}
  void SetTriggerMask(AliTOFTriggerMask *trigmask) {if(fTrigMask) *fTrigMask=*trigmask; else fTrigMask=new AliTOFTriggerMask(*trigmask);}

 protected:

  Float_t  fDefaultEventTimeValue; // TOF event time value more frequent
  Float_t  fDefaultEventTimeRes;   // TOF event time res more frequent
  Int_t    fNbins;                 // number of bins with TOF event
				   // time values different from
				   // default one
  TArrayF *fEventTimeValues;       // array for TOF event time values
				   // different from default one
  TArrayF *fEventTimeRes;          // array for TOF event time resolutions
  TArrayI *fNvalues;               // array for order numbers of momentum bin
  Float_t fTOFtimeResolution;      // TOF time resolution as written in TOF OCDB
  Float_t fT0spread;               // t0spread as written in TOF OCDB
  Int_t fNumberOfTOFclusters;      //[0,170000,18] number of reconstructed TOF clusters
  Int_t fNumberOfTOFtrgPads;       //[0,170000,18] number of reconstructed TOF trigger pads
  AliTOFTriggerMask *fTrigMask;    // Trigger mask

 private:

  ClassDef(AliTOFHeader,3)  // Class for TOF event times and so on
};

#endif
 AliTOFHeader.h:1
 AliTOFHeader.h:2
 AliTOFHeader.h:3
 AliTOFHeader.h:4
 AliTOFHeader.h:5
 AliTOFHeader.h:6
 AliTOFHeader.h:7
 AliTOFHeader.h:8
 AliTOFHeader.h:9
 AliTOFHeader.h:10
 AliTOFHeader.h:11
 AliTOFHeader.h:12
 AliTOFHeader.h:13
 AliTOFHeader.h:14
 AliTOFHeader.h:15
 AliTOFHeader.h:16
 AliTOFHeader.h:17
 AliTOFHeader.h:18
 AliTOFHeader.h:19
 AliTOFHeader.h:20
 AliTOFHeader.h:21
 AliTOFHeader.h:22
 AliTOFHeader.h:23
 AliTOFHeader.h:24
 AliTOFHeader.h:25
 AliTOFHeader.h:26
 AliTOFHeader.h:27
 AliTOFHeader.h:28
 AliTOFHeader.h:29
 AliTOFHeader.h:30
 AliTOFHeader.h:31
 AliTOFHeader.h:32
 AliTOFHeader.h:33
 AliTOFHeader.h:34
 AliTOFHeader.h:35
 AliTOFHeader.h:36
 AliTOFHeader.h:37
 AliTOFHeader.h:38
 AliTOFHeader.h:39
 AliTOFHeader.h:40
 AliTOFHeader.h:41
 AliTOFHeader.h:42
 AliTOFHeader.h:43
 AliTOFHeader.h:44
 AliTOFHeader.h:45
 AliTOFHeader.h:46
 AliTOFHeader.h:47
 AliTOFHeader.h:48
 AliTOFHeader.h:49
 AliTOFHeader.h:50
 AliTOFHeader.h:51
 AliTOFHeader.h:52
 AliTOFHeader.h:53
 AliTOFHeader.h:54
 AliTOFHeader.h:55
 AliTOFHeader.h:56
 AliTOFHeader.h:57
 AliTOFHeader.h:58
 AliTOFHeader.h:59
 AliTOFHeader.h:60
 AliTOFHeader.h:61
 AliTOFHeader.h:62
 AliTOFHeader.h:63
 AliTOFHeader.h:64
 AliTOFHeader.h:65
 AliTOFHeader.h:66
 AliTOFHeader.h:67
 AliTOFHeader.h:68
 AliTOFHeader.h:69
 AliTOFHeader.h:70
 AliTOFHeader.h:71
 AliTOFHeader.h:72
 AliTOFHeader.h:73
 AliTOFHeader.h:74
 AliTOFHeader.h:75
 AliTOFHeader.h:76
 AliTOFHeader.h:77
 AliTOFHeader.h:78
 AliTOFHeader.h:79
 AliTOFHeader.h:80
 AliTOFHeader.h:81
 AliTOFHeader.h:82
 AliTOFHeader.h:83
 AliTOFHeader.h:84
 AliTOFHeader.h:85
 AliTOFHeader.h:86
 AliTOFHeader.h:87
 AliTOFHeader.h:88
 AliTOFHeader.h:89
 AliTOFHeader.h:90
 AliTOFHeader.h:91
 AliTOFHeader.h:92
 AliTOFHeader.h:93
 AliTOFHeader.h:94
 AliTOFHeader.h:95