X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONReconstructor.h;h=bf8872b46fda984dffdb7a38f9c6c8c46ffe14bd;hb=110b30cc3fc6073127e101f49be49d163275527e;hp=f9ac60e3eab4926135efa02b1b4b132aa40ae131;hpb=6a518391867356ca3f338b42cf561dcc348d9e16;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONReconstructor.h b/MUON/AliMUONReconstructor.h index f9ac60e3eab..bf8872b46fd 100644 --- a/MUON/AliMUONReconstructor.h +++ b/MUON/AliMUONReconstructor.h @@ -1,76 +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 AliMUONDigitCalibrator; class AliMUONDigitMaker; -class AliMUONTriggerCrateStore; class AliMUONGeometryTransformer; -class AliMUONClusterReconstructor; -class AliMUONSegmentation; - -class TTask; +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(); - - virtual void Init(AliRunLoader* runLoader); - - 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; +#include "AliMUONRecoParam.h" - 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; - - enum {kNone, kOriginal, kKalman, kCombi}; +class AliMUONReconstructor : public AliReconstructor +{ +public: + AliMUONReconstructor(); + virtual ~AliMUONReconstructor(); + + virtual Bool_t HasDigitConversion() 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); private: - - TTask* GetCalibrationTask(AliMUONData* data) const; - AliMUONClusterReconstructor* CreateClusterReconstructor(AliMUONData*) 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 - - AliMUONGeometryTransformer* fTransformer; //!< pointer to transformation - AliMUONSegmentation* fSegmentation; //!< pointer to segmentation - 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