ROOT logo
#ifndef ALITOFRECONSTRUCTOR_H
#define ALITOFRECONSTRUCTOR_H

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

/* $Id$ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// class for TOF reconstruction                                              //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include "AliReconstructor.h"
#include "AliTOFRecoParam.h"
#include "AliTOFClusterFinder.h"
#include "AliTOFClusterFinderV1.h"

class TTree;

class AliESDEvent;
class AliRawReader;
class AliTOFcalib;

//class AliTOFT0maker;

class AliTOFReconstructor: public AliReconstructor {
public:
  AliTOFReconstructor();
  virtual ~AliTOFReconstructor();

  virtual void         Reconstruct(AliRawReader* rawReader,
				   TTree* clusterTree) const;
  virtual void         Reconstruct(TTree* digitsTree, TTree* clusterTree) const;

  virtual void         ConvertDigits(AliRawReader* reader, TTree* digitsTree) const;

  virtual AliTracker*  CreateTracker() const;

  virtual void         FillESD(AliRawReader*, TTree*clustersTree, AliESDEvent* esd) const
  {FillESD((TTree*)NULL,clustersTree,esd);}
  virtual void         FillESD(TTree *, TTree *, AliESDEvent * /*esdEvent*/) const;

  static const AliTOFRecoParam* GetRecoParam() { return dynamic_cast<const AliTOFRecoParam*>(AliReconstructor::GetRecoParam(3)); } // getting RecoParam obj

  virtual void FillEventTimeWithTOF(AliESDEvent *event, AliESDpid *esdPID);

private:
  AliTOFReconstructor(const AliTOFReconstructor &); //Not implemented
  AliTOFReconstructor& operator=(const AliTOFReconstructor &); //Not implemented

  AliTOFcalib    *fTOFcalib;    // pointer to TOF calib class
  //AliTOFT0maker  *fTOFT0maker;  // pointer to TOF T0 maker class

  Int_t fNumberOfTofClusters; // Number of TOF Clusters
  Int_t fNumberOfTofTrgPads;  // Number of TOF trigger pads

  AliTOFClusterFinder *fClusterFinder;
  AliTOFClusterFinderV1 *fClusterFinderV1;

  ClassDef(AliTOFReconstructor, 5)   // class for the TOF reconstruction
};

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