Added the class AliFMDGeometryBuilder (and derived
[u/mrichter/AliRoot.git] / FMD / AliFMDReconstructor.h
CommitLineData
8f1cfb0c 1#ifndef ALIFMDRECONSTRUCTOR_H
2#define ALIFMDRECONSTRUCTOR_H
4347b38f 3//
4// Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
5// reserved.
6//
121a60bd 7// See cxx source for full Copyright notice
4347b38f 8//
121a60bd 9// AliFMDReconstructor.h
4347b38f 10// Task Class for making TreeR for FMD
11//
121a60bd 12//-- Authors: Evgeny Karpechev (INR) and Alla Maevskaia (INR)
4347b38f 13// Latest changes by Christian Holm Christensen <cholm@nbi.dk>
121a60bd 14/*
4347b38f 15 Reconstruct nember of particles in given group of pads for given
16 FMDvolume determine by numberOfVolume ,
17 numberOfMinSector,numberOfMaxSector, numberOfMinRing,
18 numberOfMaxRing Reconstruction method choose dependence on number
19 of empty pads
121a60bd 20 */
21/* $Id$ */
8f1cfb0c 22
42403906 23//____________________________________________________________________
24//
25// Class to do reconstruction of events based on the FMD data. The
26// class will do two kinds of reconstruction, one based on energy
27// deposition, and one using hit patterns.
28//
29
0d0e6995 30// Header guards in the header files speeds up the compilation
31// considerably. Please leave them in.
32#ifndef ALIRECONSTRUCTOR_H
33# include <AliReconstructor.h>
34#endif
e802be3e 35#ifndef ROOT_TObjArray
36# include <TObjArray.h>
0d0e6995 37#endif
121a60bd 38
4347b38f 39//____________________________________________________________________
1a1fdef7 40class TTree;
4347b38f 41class TClonesArray;
4347b38f 42class AliFMDDigit;
43class AliRawReader;
1a1fdef7 44class AliRunLoader;
a3537838 45class AliESD;
e802be3e 46
4347b38f 47//____________________________________________________________________
121a60bd 48class AliFMDReconstructor: public AliReconstructor
49{
4347b38f 50public:
51 AliFMDReconstructor();
42403906 52 AliFMDReconstructor(const AliFMDReconstructor& other);
56b1929b 53 virtual ~AliFMDReconstructor();
42403906 54 AliFMDReconstructor& operator=(const AliFMDReconstructor& other);
4347b38f 55
1a1fdef7 56 virtual void Init(AliRunLoader* runLoader);
57 virtual Bool_t HasDigitConversion() const { return kTRUE; }
58 virtual void ConvertDigits(AliRawReader* reader, TTree* digitsTree) const;
59 virtual Bool_t HasLocalReconstruction() const { return kTRUE; }
60 virtual void Reconstruct(TTree* digitsTree, TTree* clusterTree) const;
61 virtual void FillESD(TTree* digitsTree, TTree* clusterTree,
62 AliESD* esd) const;
a3537838 63 virtual void SetESD(AliESD* esd) { fESD = esd; }
4347b38f 64
54e415a8 65private:
66 void Reconstruct(AliRawReader*, TTree*) const;
67 void Reconstruct(AliRunLoader*) const;
68 void Reconstruct(AliRunLoader*, AliRawReader*) const;
69 void FillESD(AliRawReader*, TTree*, AliESD*) const;
70 void FillESD(AliRunLoader*, AliESD*) const;
71 void FillESD(AliRunLoader*, AliRawReader*, AliESD*) const;
72
4347b38f 73protected:
e802be3e 74 virtual void ProcessDigits(TClonesArray* digits) const;
4347b38f 75 virtual UShort_t SubtractPedestal(AliFMDDigit* digit) const;
42403906 76
e802be3e 77 TObjArray fAlgorithms; // Array of algorithms
42403906 78 Float_t fPedestal; // Pedestal to subtract
79 Float_t fPedestalWidth; // Width of pedestal
e802be3e 80 Float_t fPedestalFactor;// Number of pedestal widths
e802be3e 81 mutable Float_t fCurrentVertex; // Z-coordinate of primary vertex
a3537838 82 AliESD* fESD;
42403906 83
121a60bd 84 ClassDef(AliFMDReconstructor, 0) // class for the FMD reconstruction
121a60bd 85};
86#endif
4347b38f 87//____________________________________________________________________
88//
0d0e6995 89// Local Variables:
90// mode: C++
91// End:
92//
4347b38f 93// EOF
94//