]>
Commit | Line | Data |
---|---|---|
4347b38f | 1 | // -*- mode: c++ -*- |
2 | // | |
3 | // Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights | |
4 | // reserved. | |
5 | // | |
121a60bd | 6 | // See cxx source for full Copyright notice |
4347b38f | 7 | // |
121a60bd | 8 | // AliFMDReconstructor.h |
4347b38f | 9 | // Task Class for making TreeR for FMD |
10 | // | |
121a60bd | 11 | //-- Authors: Evgeny Karpechev (INR) and Alla Maevskaia (INR) |
4347b38f | 12 | // Latest changes by Christian Holm Christensen <cholm@nbi.dk> |
121a60bd | 13 | /* |
4347b38f | 14 | Reconstruct nember of particles in given group of pads for given |
15 | FMDvolume determine by numberOfVolume , | |
16 | numberOfMinSector,numberOfMaxSector, numberOfMinRing, | |
17 | numberOfMaxRing Reconstruction method choose dependence on number | |
18 | of empty pads | |
121a60bd | 19 | */ |
20 | /* $Id$ */ | |
121a60bd | 21 | #ifndef ALIFMDRECONSTRUCTOR_H |
22 | #define ALIFMDRECONSTRUCTOR_H | |
4347b38f | 23 | #ifndef ALIRECONSTRUCTOR_H |
24 | # include <AliReconstructor.h> | |
25 | #endif | |
26 | #ifndef ALIFMDMAP_H | |
27 | # include <AliFMDMap.h> | |
28 | #endif | |
121a60bd | 29 | |
4347b38f | 30 | //____________________________________________________________________ |
31 | class TClonesArray; | |
32 | class AliFMD; | |
33 | class AliLoader; | |
34 | class AliRunLoader; | |
35 | class AliFMDDigit; | |
36 | class AliRawReader; | |
37 | typedef AliFMDMap<UShort_t> AliFMDAdcMap; | |
121a60bd | 38 | |
39 | ||
4347b38f | 40 | //____________________________________________________________________ |
121a60bd | 41 | class AliFMDReconstructor: public AliReconstructor |
42 | { | |
4347b38f | 43 | protected: |
44 | mutable AliFMDAdcMap fAdcs; | |
45 | mutable AliRunLoader* fRunLoader; | |
46 | mutable AliLoader* fFMDLoader; | |
47 | mutable TClonesArray* fParticles; | |
48 | mutable AliFMD* fFMD; | |
121a60bd | 49 | |
4347b38f | 50 | Float_t fDeltaEta; |
51 | Float_t fDeltaPhi; | |
52 | UShort_t fThreshold; | |
53 | Float_t fPedestal; | |
54 | Float_t fPedestalWidth; | |
55 | mutable Int_t fEmptyStrips; | |
56 | mutable Int_t fTotalStrips; | |
57 | ||
58 | enum { | |
59 | kMaxDetectors = 3, | |
60 | kMaxRings = 2, | |
61 | kMaxSectors = 20, | |
62 | kMaxStrips = 512 | |
63 | }; | |
64 | ||
65 | public: | |
66 | AliFMDReconstructor(); | |
67 | virtual ~AliFMDReconstructor() {} | |
68 | ||
69 | void SetDeltaEta(Float_t deta=.1) { fDeltaEta = deta; } | |
70 | void SetDeltaPhi(Float_t dphi=360) { fDeltaPhi = dphi; } | |
71 | void SetThreshold(UShort_t t=6) { fThreshold = t; } | |
72 | void SetPedestal(Float_t mean=10, Float_t width=1); | |
73 | ||
74 | virtual void Reconstruct(AliRunLoader* runLoader) const; | |
75 | virtual void Reconstruct(AliRunLoader* runLoader, | |
76 | AliRawReader* rawReader) const; | |
77 | virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const; | |
78 | ||
79 | protected: | |
80 | virtual void ProcessEvent(Int_t event, | |
81 | AliRawReader* rawReader, | |
82 | TClonesArray* digits) const; | |
83 | virtual Bool_t ReadAdcs(TClonesArray* digits) const; | |
84 | virtual Bool_t ReadAdcs(AliRawReader* rawReader) const; | |
85 | virtual void ProcessDigit(AliFMDDigit* digit) const; | |
86 | virtual UShort_t SubtractPedestal(AliFMDDigit* digit) const; | |
87 | virtual void ReconstructFromCache(Float_t zVertex) const; | |
121a60bd | 88 | ClassDef(AliFMDReconstructor, 0) // class for the FMD reconstruction |
121a60bd | 89 | }; |
90 | #endif | |
4347b38f | 91 | //____________________________________________________________________ |
92 | // | |
93 | // EOF | |
94 | // |