4f7b2d81a1791d9c8f119c3ecc6a3361acbca4bb
[u/mrichter/AliRoot.git] / TOF / AliTOFClusterFinder.h
1 #ifndef ALITOFCLUSTERFINDER_H
2 #define ALITOFCLUSTERFINDER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5 // AliTOFClusterFinder Class
6 // Task: Transform digits/raw data to TOF Clusters, to fill TOF RecPoints
7 // and feed TOF tracking 
8
9 #include "TObject.h"
10
11 class TClonesArray;
12 class TFile;
13 class TTree;
14
15 class AliLoader;
16 class AliRunLoader;
17 class AliRawReader;
18
19 class AliTOFGeometry;
20 class AliTOFcluster;
21
22 class AliTOFClusterFinder : public TObject
23 {
24
25   enum {kTofMaxCluster=77777}; //maximal number of the TOF clusters
26
27  public:
28
29   AliTOFClusterFinder();
30   AliTOFClusterFinder(AliRunLoader* runLoader);
31   AliTOFClusterFinder(const AliTOFClusterFinder &source); // copy constructor
32   AliTOFClusterFinder& operator=(const AliTOFClusterFinder &source); // ass. op.
33   virtual ~AliTOFClusterFinder();
34
35   void Digits2RecPoints(Int_t ievt);
36   void Digits2RecPoints(AliRawReader *rawReader, TTree *clustersTree);
37   void Digits2RecPoints(Int_t ievt, AliRawReader *rawReader);
38   void Raw2Digits(Int_t ievt, AliRawReader *rawReader); // temporary solution
39   void FillRecPoint();
40   void ResetRecpoint();
41   void Load();
42   void LoadClusters();
43   void UnLoad();
44   void UnLoadClusters();
45   void SetVerbose(Int_t Verbose){fVerbose=Verbose;} // To set the verbose level
46
47  protected:
48   AliRunLoader *fRunLoader;      // Pointer to Run Loader
49   AliLoader    *fTOFLoader;      // Pointer to specific detector loader
50
51   TTree        *fTreeD;          // Digits tree
52   TTree        *fTreeR;          // Reconstructed points
53
54   AliTOFcluster *fTofClusters[kTofMaxCluster];  // pointers to the TOF clusters
55
56   AliTOFGeometry  *fTOFGeometry; // Pointer to TOF geometry
57   TClonesArray *fDigits;         // List of digits
58   TClonesArray *fRecPoints;      // List of reconstructed points
59
60   Int_t fNumberOfTofClusters;    // Number of TOF Clusters
61
62  private:
63
64   //Int_t InsertCluster(Int_t *aa, Double_t *bb);    // Fills TofClusters Array
65   //Int_t InsertCluster(Int_t *aa, Double_t *bb, Int_t *cc, Int_t d); // Fills TofClusters Array
66   Int_t InsertCluster(AliTOFcluster *tofCluster);    // Fills TofClusters Array
67   Int_t FindClusterIndex(Double_t z) const; // Returns cluster index 
68   void  CalibrateRecPoint(); // Apply calibration pars to Clusters
69
70   Int_t fVerbose;  //Verbose level (0:no msg, 1:msg, 2:digits in txt files)
71
72   ClassDef(AliTOFClusterFinder,1) // To run TOF clustering
73 };
74 #endif
75