X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONReconstructor.h;h=bf8872b46fda984dffdb7a38f9c6c8c46ffe14bd;hb=7c3e51625615b4cc0687f75f89b28967a3499470;hp=145e24d06d09bcc7bc25a68537229772040ea24d;hpb=96fdfe9a50e5515f16d3ccbee16df5433a0e30bf;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONReconstructor.h b/MUON/AliMUONReconstructor.h index 145e24d06d0..bf8872b46fd 100644 --- a/MUON/AliMUONReconstructor.h +++ b/MUON/AliMUONReconstructor.h @@ -1,67 +1,93 @@ #ifndef ALIMUONRECONSTRUCTOR_H #define ALIMUONRECONSTRUCTOR_H + /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ +* See cxx source for full Copyright notice */ -/* $Id$ */ -// Revision of includes 07/05/2004 +// $Id$ /// \ingroup rec /// \class AliMUONReconstructor -/// \brief Class for the MUON reconstruction +/// \brief Implementation of AliReconstructor for MUON (both tracker and trigger) +/// +// Author Laurent Aphecetche, Subatech -#include "AliReconstructor.h" +#ifndef ALIRECONSTRUCTOR_H +# include "AliReconstructor.h" +#endif class AliMUONCalibrationData; -class AliMUONData; -class TTask; +class AliMUONDigitCalibrator; class AliMUONDigitMaker; -class AliMUONTriggerCrateStore; +class AliMUONGeometryTransformer; +class AliMUONTracker; +class AliMUONTriggerCircuit; +class AliMUONVClusterFinder; +class AliMUONVClusterServer; +class AliMUONVClusterStore; +class AliMUONVDigitStore; +class AliMUONVTrackStore; +class AliMUONVTriggerStore; +class AliMUONVTriggerStore; class TClonesArray; -class AliMUONReconstructor: public AliReconstructor -{ - public: - AliMUONReconstructor(); - virtual ~AliMUONReconstructor(); +#include "AliMUONRecoParam.h" - virtual void Init(AliRunLoader* runLoader); +class AliMUONReconstructor : public AliReconstructor +{ +public: + AliMUONReconstructor(); + virtual ~AliMUONReconstructor(); + + virtual Bool_t HasDigitConversion() const; - virtual void Reconstruct(TTree* /*digitsTree*/, - TTree* /*clustersTree*/) const {return;} - virtual void Reconstruct(AliRawReader* /*rawReader*/, - TTree* /*clustersTree*/) const {return;} - virtual void Reconstruct(AliRunLoader* runLoader) const; - virtual void Reconstruct(AliRunLoader* runLoader, - AliRawReader* rawReader) const; + virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const; + + virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const; + + virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const; + + virtual AliTracker* CreateTracker() const; + + /// Get param object + static const AliMUONRecoParam* GetRecoParam() { return dynamic_cast(AliReconstructor::GetRecoParam(7)); } + + static AliMUONVClusterFinder* CreateClusterFinder(const char* clusterFinderType); - virtual void FillESD(TTree* /*digitsTree*/, TTree* /*clustersTree*/, - AliESD* /*esd*/) const {return;} - virtual void FillESD(AliRawReader* /*rawReader*/, TTree* /*clustersTree*/, - AliESD* /*esd*/) const {return;} - virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const; - virtual void FillESD(AliRunLoader* runLoader, - AliRawReader* /*rawReader*/, AliESD* esd) const; - private: - - TTask* GetCalibrationTask(AliMUONData* data) const; - AliMUONReconstructor(const AliMUONReconstructor& right); - AliMUONReconstructor& operator = (const AliMUONReconstructor& right); - + /// Not implemented + AliMUONReconstructor(const AliMUONReconstructor&); + /// Not implemented + AliMUONReconstructor& operator=(const AliMUONReconstructor&); + + void ConvertDigits(AliRawReader* rawReader, + AliMUONVDigitStore* digitStore, + AliMUONVTriggerStore* triggerStore) const; + void Calibrate(AliMUONVDigitStore& digitStore) const; + void CreateCalibrator() const; + void CreateDigitMaker() const; + void CreateTriggerCircuit() const; + void CreateClusterServer() const; + void FillTreeR(AliMUONVTriggerStore* triggerStore, + TTree& clustersTree) const; + + AliMUONVDigitStore* DigitStore() const; + AliMUONVTriggerStore* TriggerStore() const; + private: - AliRunLoader* fRunLoader; //!< pointer to runloader - AliMUONDigitMaker* fDigitMaker; //!< pointer to the digit maker class - - mutable AliMUONCalibrationData* fCalibrationData; //!< pointer to calibration data - - AliMUONTriggerCrateStore* fCrateManager; //!< Crate array - - TClonesArray* fTriggerCircuit; //!< trigger circuit - - - ClassDef(AliMUONReconstructor, 0) // class for the MUON reconstruction + mutable AliMUONDigitMaker* fDigitMaker; //!< Raw to Digits converter + AliMUONGeometryTransformer* fTransformer; //!< Geometry transformer (local<->global) + mutable AliMUONVDigitStore* fDigitStore; //!< Digit container + mutable AliMUONTriggerCircuit* fTriggerCircuit; //!< Trigger Circuit + mutable AliMUONCalibrationData* fCalibrationData; //!< Calibration data + mutable AliMUONDigitCalibrator* fDigitCalibrator; //!< Digit to calibrate digit converter + mutable AliMUONVClusterServer* fClusterServer; //!< Clusterizer + mutable AliMUONVTriggerStore* fTriggerStore; //!< Trigger container + mutable AliMUONVTrackStore* fTrackStore; //!< Track container + mutable AliMUONVClusterStore* fClusterStore; //!< cluster store (when not in combined tracking mode) + + ClassDef(AliMUONReconstructor,8) // Implementation of AliReconstructor }; #endif