Additional cast
[u/mrichter/AliRoot.git] / FMD / AliFMDReconstructor.h
CommitLineData
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//____________________________________________________________________
31class TClonesArray;
32class AliFMD;
33class AliLoader;
34class AliRunLoader;
35class AliFMDDigit;
36class AliRawReader;
37typedef AliFMDMap<UShort_t> AliFMDAdcMap;
121a60bd 38
39
4347b38f 40//____________________________________________________________________
121a60bd 41class AliFMDReconstructor: public AliReconstructor
42{
4347b38f 43protected:
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
65public:
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
79protected:
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//