AliFMDReconstructor.h

Go to the documentation of this file.
00001 #ifndef ALIFMDRECONSTRUCTOR_H
00002 #define ALIFMDRECONSTRUCTOR_H
00003 //
00004 //  Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
00005 //  reserved. 
00006 //
00007 //  See cxx source for full Copyright notice                               
00008 //
00009 //  AliFMDReconstructor.h 
00010 //  Task Class for making TreeR for FMD                        
00011 //
00012 //-- Authors: Evgeny Karpechev (INR) and Alla Maevskaia (INR)
00013 //   Latest changes by Christian Holm Christensen <cholm@nbi.dk>
00014 /* $Id: AliFMDReconstructor.h,v 1.14 2006/03/24 14:15:22 cholm Exp $ */
00015 
00016 //____________________________________________________________________
00017 // Header guards in the header files speeds up the compilation
00018 // considerably.  Please leave them in. 
00019 #ifndef ALIRECONSTRUCTOR_H
00020 # include <AliReconstructor.h>
00021 #endif
00022 
00023 //____________________________________________________________________
00024 class TTree;
00025 class TClonesArray;
00026 class AliFMDDigit;
00027 class AliRawReader;
00028 class AliRunLoader;
00029 class AliESD;
00030 class AliESDFMD;
00031 
00033 //____________________________________________________________________
00040 class AliFMDReconstructor: public AliReconstructor 
00041 {
00042 public:
00044   AliFMDReconstructor();
00046   virtual ~AliFMDReconstructor();
00047 
00056   virtual void   Init(AliRunLoader* runLoader);
00059   virtual Bool_t HasDigitConversion() const { return kTRUE; }
00066   virtual void   ConvertDigits(AliRawReader* reader, TTree* digitsTree) const;
00069   virtual Bool_t HasLocalReconstruction() const { return kTRUE; }
00077   virtual void   Reconstruct(TTree* digitsTree, TTree* clusterTree) const;
00085   virtual void   FillESD(TTree* digitsTree, TTree* clusterTree, 
00086                          AliESD* esd) const;
00088   virtual void   SetESD(AliESD* esd) { fESD = esd; }
00089      
00090 private:
00092   void Reconstruct(AliRawReader*, TTree*) const;
00094   void Reconstruct(AliRunLoader*) const;
00096   void Reconstruct(AliRunLoader*, AliRawReader*) const;
00098   void FillESD(AliRawReader*, TTree*, AliESD*) const;
00100   void FillESD(AliRunLoader*, AliESD*) const;
00102   void FillESD(AliRunLoader*, AliRawReader*, AliESD*) const;
00103   
00104 protected:
00107   AliFMDReconstructor(const AliFMDReconstructor& other);
00111   AliFMDReconstructor& operator=(const AliFMDReconstructor& other);
00117   virtual void     ProcessDigits(TClonesArray* digits) const;
00121   virtual UShort_t SubtractPedestal(AliFMDDigit* digit) const;
00133   virtual Float_t  Adc2Energy(AliFMDDigit* digit, Float_t eta, 
00134                               UShort_t count) const;
00146   virtual Float_t  Energy2Multiplicity(AliFMDDigit* digit, Float_t edep) const;
00155   virtual void     PhysicalCoordinates(AliFMDDigit* digit, Float_t& eta, 
00156                                        Float_t& phi) const;
00157   
00158   mutable TClonesArray* fMult;          // Cache of RecPoints
00159   mutable Int_t         fNMult;         // Number of entries in fMult 
00160   mutable TTree*        fTreeR;         // Output tree 
00161   mutable Float_t       fCurrentVertex; // Z-coordinate of primary vertex
00162   mutable AliESDFMD*    fESDObj;        // ESD output object
00163   AliESD*               fESD;
00164   
00165   ClassDef(AliFMDReconstructor, 0)  // class for the FMD reconstruction
00166 }; 
00167 #endif
00168 //____________________________________________________________________
00169 //
00170 // Local Variables:
00171 //   mode: C++
00172 // End:
00173 //
00174 // EOF
00175 //

Generated on Fri Mar 24 17:11:21 2006 for ALICE FMD Off-line by  doxygen 1.4.6