]> git.uio.no Git - u/mrichter/AliRoot.git/blame - FMD/AliFMDReconstructor.h
Extracting PHOS and EMCAL trackers from the correspondig reconstructors (Yu.Belikov)
[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
0d0e6995 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
121a60bd 31
4347b38f 32//____________________________________________________________________
33class TClonesArray;
34class AliFMD;
35class AliLoader;
36class AliRunLoader;
37class AliFMDDigit;
38class AliRawReader;
39typedef AliFMDMap<UShort_t> AliFMDAdcMap;
121a60bd 40
41
4347b38f 42//____________________________________________________________________
121a60bd 43class AliFMDReconstructor: public AliReconstructor
44{
4347b38f 45protected:
46 mutable AliFMDAdcMap fAdcs;
47 mutable AliRunLoader* fRunLoader;
48 mutable AliLoader* fFMDLoader;
49 mutable TClonesArray* fParticles;
50 mutable AliFMD* fFMD;
121a60bd 51
4347b38f 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
67public:
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
81protected:
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;
121a60bd 90 ClassDef(AliFMDReconstructor, 0) // class for the FMD reconstruction
121a60bd 91};
92#endif
4347b38f 93//____________________________________________________________________
94//
0d0e6995 95// Local Variables:
96// mode: C++
97// End:
98//
4347b38f 99// EOF
100//