]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/AliFMDReconstructor.h
ddb88b5437418ab20ae3b947df070aa246a1d02e
[u/mrichter/AliRoot.git] / FMD / AliFMDReconstructor.h
1 #ifndef ALIFMDRECONSTRUCTOR_H
2 #define ALIFMDRECONSTRUCTOR_H
3 //
4 //  Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
5 //  reserved. 
6 //
7 //  See cxx source for full Copyright notice                               
8 //
9 //  AliFMDReconstructor.h 
10 //  Task Class for making TreeR for FMD                        
11 //
12 //-- Authors: Evgeny Karpechev (INR) and Alla Maevskaia (INR)
13 //   Latest changes by Christian Holm Christensen <cholm@nbi.dk>
14 /*
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
20   */
21 /* $Id$ */
22
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
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
35 #ifndef ROOT_TObjArray
36 # include <TObjArray.h>
37 #endif
38
39 //____________________________________________________________________
40 class TTree;
41 class TClonesArray;
42 class AliFMDDigit;
43 class AliRawReader;
44 class AliRunLoader;
45
46 //____________________________________________________________________
47 class AliFMDReconstructor: public AliReconstructor 
48 {
49 public:
50   AliFMDReconstructor();
51   AliFMDReconstructor(const AliFMDReconstructor& other);
52   virtual ~AliFMDReconstructor();
53   AliFMDReconstructor& operator=(const AliFMDReconstructor& other);
54
55   virtual void   Init(AliRunLoader* runLoader);
56   virtual Bool_t HasDigitConversion() const { return kTRUE; }
57   virtual void   ConvertDigits(AliRawReader* reader, TTree* digitsTree) const;
58   virtual Bool_t HasLocalReconstruction() const { return kTRUE; }
59   virtual void   Reconstruct(TTree* digitsTree, TTree* clusterTree) const;
60   virtual void   FillESD(TTree* digitsTree, TTree* clusterTree, 
61                          AliESD* esd) const;
62      
63 protected:
64   virtual void     ProcessDigits(TClonesArray* digits) const;
65   virtual UShort_t SubtractPedestal(AliFMDDigit* digit) const;
66   
67   TObjArray             fAlgorithms;    // Array of algorithms
68   Float_t               fPedestal;      // Pedestal to subtract
69   Float_t               fPedestalWidth; // Width of pedestal
70   Float_t               fPedestalFactor;// Number of pedestal widths 
71   mutable Float_t       fCurrentVertex; // Z-coordinate of primary vertex
72   
73   ClassDef(AliFMDReconstructor, 0)  // class for the FMD reconstruction
74 }; 
75 #endif
76 //____________________________________________________________________
77 //
78 // Local Variables:
79 //   mode: C++
80 // End:
81 //
82 // EOF
83 //