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