]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/AliFMDReconstructor.h
Whoops, referenced wrong config file
[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 TClonesArray;
41 class AliFMD;
42 class AliLoader;
43 class AliRunLoader;
44 class AliFMDDigit;
45 class AliRawReader;
46
47 //____________________________________________________________________
48 class AliFMDReconstructor: public AliReconstructor 
49 {
50 public:
51   AliFMDReconstructor();
52   AliFMDReconstructor(const AliFMDReconstructor& other);
53   virtual ~AliFMDReconstructor();
54   AliFMDReconstructor& operator=(const AliFMDReconstructor& other);
55
56   void         SetPedestal(Float_t mean=10, Float_t width=1, Float_t f=3);
57      
58   virtual void Reconstruct(AliRunLoader* runLoader) const;
59   virtual void Reconstruct(AliRunLoader* runLoader,  
60                            AliRawReader* rawReader) const;
61   virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const;
62   
63 protected:
64   virtual void     ProcessEvent(Int_t event, 
65                                 AliRawReader* rawReader) const;
66   virtual void     ProcessDigits(TClonesArray* digits) const;
67   virtual UShort_t SubtractPedestal(AliFMDDigit* digit) const;
68
69   mutable AliRunLoader* fRunLoader;  //! Run loader 
70   mutable AliLoader*    fFMDLoader;  //! FMD specific loader 
71   mutable AliFMD*       fFMD;        //! Pointer to FMD manager 
72   
73   TObjArray             fAlgorithms;    // Array of algorithms
74   Float_t               fPedestal;      // Pedestal to subtract
75   Float_t               fPedestalWidth; // Width of pedestal
76   Float_t               fPedestalFactor;// Number of pedestal widths 
77   mutable Float_t       fCurrentVertex; // Z-coordinate of primary vertex
78   
79   ClassDef(AliFMDReconstructor, 0)  // class for the FMD reconstruction
80 }; 
81 #endif
82 //____________________________________________________________________
83 //
84 // Local Variables:
85 //   mode: C++
86 // End:
87 //
88 // EOF
89 //