]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/AliFMDReconstructor.h
Moved mode lines to end of files
[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 // Header guards in the header files speeds up the compilation
24 // considerably.  Please leave them in. 
25 #ifndef ALIRECONSTRUCTOR_H
26 # include <AliReconstructor.h>
27 #endif
28 #ifndef ALIFMDMAP_H
29 # include <AliFMDMap.h>
30 #endif
31
32 //____________________________________________________________________
33 class TClonesArray;
34 class AliFMD;
35 class AliLoader;
36 class AliRunLoader;
37 class AliFMDDigit;
38 class AliRawReader;
39 typedef AliFMDMap<UShort_t> AliFMDAdcMap;
40
41
42 //____________________________________________________________________
43 class AliFMDReconstructor: public AliReconstructor 
44 {
45 protected:
46   mutable AliFMDAdcMap  fAdcs;
47   mutable AliRunLoader* fRunLoader;
48   mutable AliLoader*    fFMDLoader;
49   mutable TClonesArray* fParticles;
50   mutable AliFMD*       fFMD;
51   
52   Float_t               fDeltaEta;
53   Float_t               fDeltaPhi;
54   UShort_t              fThreshold;
55   Float_t               fPedestal;
56   Float_t               fPedestalWidth;
57   mutable Int_t         fEmptyStrips;
58   mutable Int_t         fTotalStrips;
59   
60   enum { 
61     kMaxDetectors = 3, 
62     kMaxRings     = 2, 
63     kMaxSectors   = 20, 
64     kMaxStrips    = 512
65   };
66   
67 public:
68   AliFMDReconstructor();
69   virtual ~AliFMDReconstructor() {}
70
71   void         SetDeltaEta(Float_t deta=.1)  { fDeltaEta = deta;  }
72   void         SetDeltaPhi(Float_t dphi=360) { fDeltaPhi = dphi;  } 
73   void         SetThreshold(UShort_t t=6)    { fThreshold = t; }
74   void         SetPedestal(Float_t mean=10, Float_t width=1);
75      
76   virtual void Reconstruct(AliRunLoader* runLoader) const;
77   virtual void Reconstruct(AliRunLoader* runLoader,  
78                            AliRawReader* rawReader) const;
79   virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const;
80   
81 protected:
82   virtual void     ProcessEvent(Int_t event, 
83                                 AliRawReader* rawReader, 
84                                 TClonesArray* digits) const;
85   virtual Bool_t   ReadAdcs(TClonesArray* digits) const;
86   virtual Bool_t   ReadAdcs(AliRawReader* rawReader) const;
87   virtual void     ProcessDigit(AliFMDDigit* digit) const;
88   virtual UShort_t SubtractPedestal(AliFMDDigit* digit) const;
89   virtual void     ReconstructFromCache(Float_t zVertex) const;
90   ClassDef(AliFMDReconstructor, 0)  // class for the FMD reconstruction
91 }; 
92 #endif
93 //____________________________________________________________________
94 //
95 // Local Variables:
96 //   mode: C++
97 // End:
98 //
99 // EOF
100 //