Old TOF library: removing
[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
42403906 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
0d0e6995 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 ALIFMDMAP_H
36# include <AliFMDMap.h>
37#endif
121a60bd 38
4347b38f 39//____________________________________________________________________
40class TClonesArray;
41class AliFMD;
42class AliLoader;
43class AliRunLoader;
44class AliFMDDigit;
45class AliRawReader;
46typedef AliFMDMap<UShort_t> AliFMDAdcMap;
121a60bd 47
48
4347b38f 49//____________________________________________________________________
121a60bd 50class AliFMDReconstructor: public AliReconstructor
51{
4347b38f 52public:
53 AliFMDReconstructor();
42403906 54 AliFMDReconstructor(const AliFMDReconstructor& other);
4347b38f 55 virtual ~AliFMDReconstructor() {}
42403906 56 AliFMDReconstructor& operator=(const AliFMDReconstructor& other);
4347b38f 57
58 void SetDeltaEta(Float_t deta=.1) { fDeltaEta = deta; }
59 void SetDeltaPhi(Float_t dphi=360) { fDeltaPhi = dphi; }
60 void SetThreshold(UShort_t t=6) { fThreshold = t; }
61 void SetPedestal(Float_t mean=10, Float_t width=1);
62
63 virtual void Reconstruct(AliRunLoader* runLoader) const;
64 virtual void Reconstruct(AliRunLoader* runLoader,
65 AliRawReader* rawReader) const;
66 virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const;
67
68protected:
69 virtual void ProcessEvent(Int_t event,
70 AliRawReader* rawReader,
71 TClonesArray* digits) const;
72 virtual Bool_t ReadAdcs(TClonesArray* digits) const;
73 virtual Bool_t ReadAdcs(AliRawReader* rawReader) const;
74 virtual void ProcessDigit(AliFMDDigit* digit) const;
75 virtual UShort_t SubtractPedestal(AliFMDDigit* digit) const;
76 virtual void ReconstructFromCache(Float_t zVertex) const;
42403906 77
78 mutable AliFMDAdcMap fAdcs; // Cached ADC values
79 mutable AliRunLoader* fRunLoader; // Run loader
80 mutable AliLoader* fFMDLoader; // FMD specific loader
81 mutable TClonesArray* fParticles; // Array of particles
82 mutable AliFMD* fFMD; // Pointer to FMD manager
83
84 Float_t fDeltaEta; // Bin size in eta
85 Float_t fDeltaPhi; // Bin size in phi
86 UShort_t fThreshold; // Threshold for Poisson recon.
87 Float_t fPedestal; // Pedestal to subtract
88 Float_t fPedestalWidth; // Width of pedestal
89 mutable Int_t fEmptyStrips; // Number of empty strips
90 mutable Int_t fTotalStrips; // Total number of strips
91
92 enum {
93 kMaxDetectors = 3, // Maximum number of sub-det.
94 kMaxRings = 2, // Maximum number of rings
95 kMaxSectors = 40, // Maximum number of sectors
96 kMaxStrips = 512 // Maximum number of strips
97 };
98
121a60bd 99 ClassDef(AliFMDReconstructor, 0) // class for the FMD reconstruction
121a60bd 100};
101#endif
4347b38f 102//____________________________________________________________________
103//
0d0e6995 104// Local Variables:
105// mode: C++
106// End:
107//
4347b38f 108// EOF
109//