]> git.uio.no Git - u/mrichter/AliRoot.git/blame - FMD/AliFMDReconstructor.h
Various small fixes. Make sure Emacs knows it's C++ mode, and the like.
[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
121a60bd 35
4347b38f 36//____________________________________________________________________
1a1fdef7 37class TTree;
4347b38f 38class TClonesArray;
4347b38f 39class AliFMDDigit;
40class AliRawReader;
1a1fdef7 41class AliRunLoader;
a3537838 42class AliESD;
8f6ee336 43class AliESDFMD;
e802be3e 44
4347b38f 45//____________________________________________________________________
121a60bd 46class AliFMDReconstructor: public AliReconstructor
47{
4347b38f 48public:
49 AliFMDReconstructor();
42403906 50 AliFMDReconstructor(const AliFMDReconstructor& other);
56b1929b 51 virtual ~AliFMDReconstructor();
42403906 52 AliFMDReconstructor& operator=(const AliFMDReconstructor& other);
4347b38f 53
1a1fdef7 54 virtual void Init(AliRunLoader* runLoader);
55 virtual Bool_t HasDigitConversion() const { return kTRUE; }
56 virtual void ConvertDigits(AliRawReader* reader, TTree* digitsTree) const;
57 virtual Bool_t HasLocalReconstruction() const { return kTRUE; }
58 virtual void Reconstruct(TTree* digitsTree, TTree* clusterTree) const;
59 virtual void FillESD(TTree* digitsTree, TTree* clusterTree,
60 AliESD* esd) const;
a3537838 61 virtual void SetESD(AliESD* esd) { fESD = esd; }
4347b38f 62
54e415a8 63private:
64 void Reconstruct(AliRawReader*, TTree*) const;
65 void Reconstruct(AliRunLoader*) const;
66 void Reconstruct(AliRunLoader*, AliRawReader*) const;
67 void FillESD(AliRawReader*, TTree*, AliESD*) const;
68 void FillESD(AliRunLoader*, AliESD*) const;
69 void FillESD(AliRunLoader*, AliRawReader*, AliESD*) const;
70
4347b38f 71protected:
e802be3e 72 virtual void ProcessDigits(TClonesArray* digits) const;
4347b38f 73 virtual UShort_t SubtractPedestal(AliFMDDigit* digit) const;
8f6ee336 74 virtual Float_t Adc2Energy(AliFMDDigit* digit, Float_t eta,
75 UShort_t count) const;
76 virtual Float_t Energy2Multiplicity(AliFMDDigit* digit, Float_t edep) const;
77 virtual void PhysicalCoordinates(AliFMDDigit* digit, Float_t& eta,
78 Float_t& phi) const;
42403906 79
8f6ee336 80 mutable TClonesArray* fMult; // Cache of RecPoints
81 mutable Int_t fNMult; // Number of entries in fMult
82 mutable TTree* fTreeR; // Output tree
e802be3e 83 mutable Float_t fCurrentVertex; // Z-coordinate of primary vertex
8f6ee336 84 mutable AliESDFMD* fESDObj; // ESD output object
a3537838 85 AliESD* fESD;
42403906 86
121a60bd 87 ClassDef(AliFMDReconstructor, 0) // class for the FMD reconstruction
121a60bd 88};
89#endif
4347b38f 90//____________________________________________________________________
91//
0d0e6995 92// Local Variables:
93// mode: C++
94// End:
95//
4347b38f 96// EOF
97//