some coverity fixes
[u/mrichter/AliRoot.git] / TOF / AliTOFClusterFinder.h
CommitLineData
d08a92dd 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 */
340693af 5// AliTOFClusterFinder Class
6// Task: Transform digits/raw data to TOF Clusters, to fill TOF RecPoints
7// and feed TOF tracking
d08a92dd 8
6786addd 9#include "TTask.h"
d08a92dd 10
0275b7df 11#include "AliTOFRawStream.h"
12
d08a92dd 13class TClonesArray;
14class TFile;
15class TTree;
16
17class AliLoader;
18class AliRunLoader;
0e46b9ae 19class AliRawReader;
6786addd 20class AliTOFrawData;
d08a92dd 21
22class AliTOFGeometry;
0e46b9ae 23class AliTOFcluster;
94f5f8f2 24class AliTOFcalib;
d08a92dd 25
6786addd 26class AliTOFClusterFinder : public TTask
d08a92dd 27{
28
29 enum {kTofMaxCluster=77777}; //maximal number of the TOF clusters
30
31 public:
32
94f5f8f2 33 AliTOFClusterFinder(AliTOFcalib *calib);
34 AliTOFClusterFinder(AliRunLoader* runLoader, AliTOFcalib *calib);
7aeeaf38 35 AliTOFClusterFinder(const AliTOFClusterFinder &source); // copy constructor
36 AliTOFClusterFinder& operator=(const AliTOFClusterFinder &source); // ass. op.
d08a92dd 37 virtual ~AliTOFClusterFinder();
ba66add8 38
94f5f8f2 39 void Digits2RecPoints(TTree* digitsTree, TTree* clusterTree);
d08a92dd 40 void Digits2RecPoints(Int_t ievt);
41 void Digits2RecPoints(AliRawReader *rawReader, TTree *clustersTree);
42 void Digits2RecPoints(Int_t ievt, AliRawReader *rawReader);
43 void Raw2Digits(Int_t ievt, AliRawReader *rawReader); // temporary solution
94f5f8f2 44 void Raw2Digits(AliRawReader *rawReader, TTree* digitsTree);
d08a92dd 45 void FillRecPoint();
46 void ResetRecpoint();
47 void Load();
48 void LoadClusters();
49 void UnLoad();
50 void UnLoadClusters();
15ec34b9 51 void SetVerbose(Int_t Verbose){fVerbose=Verbose;} // To set the verbose level
7813bb1a 52 void SetDecoderVersion(Int_t version){fDecoderVersion=version;} // To set the decoder version
5b4ed716 53 Int_t GetDecoderVersion() const {return fDecoderVersion;} // To get the decoder version
0e74c396 54 UShort_t GetClusterVolIndex(const Int_t * const ind) const; //Volume Id getter
ac359ffe 55 void GetClusterPars(Int_t *ind, Double_t *pos, Double_t *cov) const; //cluster par getter
6786addd 56 Int_t GetNumberOfTOFclusters() const {return fNumberOfTofClusters;} // number of clusters getter
57 Int_t GetNumberOfTOFtrgPads() const {return fNumberOfTofTrgPads;} // number of pads getter
d08a92dd 58
59 protected:
60 AliRunLoader *fRunLoader; // Pointer to Run Loader
61 AliLoader *fTOFLoader; // Pointer to specific detector loader
62
63 TTree *fTreeD; // Digits tree
64 TTree *fTreeR; // Reconstructed points
65
66 AliTOFcluster *fTofClusters[kTofMaxCluster]; // pointers to the TOF clusters
67
d08a92dd 68 TClonesArray *fDigits; // List of digits
69 TClonesArray *fRecPoints; // List of reconstructed points
70
71 Int_t fNumberOfTofClusters; // Number of TOF Clusters
6786addd 72 Int_t fNumberOfTofTrgPads; // Number of TOF trigger pads
d08a92dd 73
74 private:
6786addd 75 void FillTOFtriggerMap(Int_t iDDL, AliTOFrawData *tofRawDatum);
d08a92dd 76
77 //Int_t InsertCluster(Int_t *aa, Double_t *bb); // Fills TofClusters Array
78 //Int_t InsertCluster(Int_t *aa, Double_t *bb, Int_t *cc, Int_t d); // Fills TofClusters Array
79 Int_t InsertCluster(AliTOFcluster *tofCluster); // Fills TofClusters Array
80 Int_t FindClusterIndex(Double_t z) const; // Returns cluster index
f04b3a69 81 void CalibrateRecPoint(UInt_t timestamp = 0); // Apply calibration pars to Clusters
d08a92dd 82
2bf66a2d 83 Int_t fVerbose; // Verbose level (0:no msg,
84 // 1:msg, 2:digits in txt files)
5b4ed716 85 Int_t fDecoderVersion; //setting whether to use the new decoder version
2bf66a2d 86 AliTOFcalib *fTOFcalib; // pointer to the TOF calibration info
0275b7df 87 AliTOFRawStream fTOFRawStream; // AliTOFRawStream variable
88
6786addd 89 ClassDef(AliTOFClusterFinder,8) // To run TOF clustering
d08a92dd 90};
91#endif
92