X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONReconstructor.h;h=22d953d9929e35c274875bbe5f5ace48afe5ccad;hb=9da4ac4a5bc6155d19074dd83c817b08e9184f4a;hp=e8887a99d574b6f2eb347030d61c8abc46b1a7b0;hpb=71a2d3aa63e94daa0244d8d6d1c7c162ae29a374;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONReconstructor.h b/MUON/AliMUONReconstructor.h index e8887a99d57..22d953d9929 100644 --- a/MUON/AliMUONReconstructor.h +++ b/MUON/AliMUONReconstructor.h @@ -1,84 +1,103 @@ #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 +#ifndef ROOT_TObjArray +#define "TObjArray.h" +#endif class AliMUONCalibrationData; -class AliMUONData; +class AliMUONDigitCalibrator; class AliMUONDigitMaker; -class AliMUONTriggerCrateStore; class AliMUONGeometryTransformer; -class AliTracker; -class AliMUONClusterReconstructor; -class AliMUONSegmentation; - -class TTask; +class AliMUONTracker; +class AliMUONTriggerCircuit; +class AliMUONVClusterFinder; +class AliMUONVClusterServer; +class AliMUONVClusterStore; +class AliMUONVDigitStore; +class AliMUONVTrackStore; +class AliMUONVTriggerStore; +class AliMUONTriggerElectronics; class TClonesArray; +class AliMUONTriggerUtilities; -class AliMUONReconstructor: public AliReconstructor -{ - public: - AliMUONReconstructor(); - virtual ~AliMUONReconstructor(); - - /// Dummy implementation - virtual void Reconstruct(TTree* /*digitsTree*/, - TTree* /*clustersTree*/) const {return;} - /// Dummy implementation - virtual void Reconstruct(AliRawReader* /*rawReader*/, - TTree* /*clustersTree*/) const {return;} - virtual void Reconstruct(AliRunLoader* runLoader) const; - virtual void Reconstruct(AliRunLoader* runLoader, - AliRawReader* rawReader) const; - - /// Dummy implementation - virtual void FillESD(TTree* /*digitsTree*/, TTree* /*clustersTree*/, - AliESD* /*esd*/) const {return;} - /// Dummy implementation - 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; +#include "AliMUONRecoParam.h" - AliTracker* CreateTracker(AliRunLoader* runLoader) 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(); + + static AliMUONVClusterFinder* CreateClusterFinder(const char* clusterFinderType); private: - - TTask* GetCalibrationTask() const; - AliMUONClusterReconstructor* CreateClusterReconstructor() const; - - /// Not implemented - AliMUONReconstructor(const AliMUONReconstructor& right); - /// Not implemented - 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 CreateCalibrationData() const; + void CreateCalibrator() const; + void CreateDigitMaker() const; + void CreateTriggerCircuit() const; + void CreateTriggerUtilities() const; + AliMUONVClusterServer* CreateClusterServer(const AliMUONRecoParam& rp) const; + void FillTreeR(AliMUONVTriggerStore* triggerStore, + TTree& clustersTree) const; + + AliMUONVDigitStore* DigitStore() const; + AliMUONVTriggerStore* TriggerStore() const; + void ResponseRemovingChambers(AliMUONVTriggerStore* triggerStore) const; + private: - AliMUONDigitMaker* fDigitMaker; //!< pointer to the digit maker class - mutable AliMUONCalibrationData* fCalibrationData; //!< pointer to calibration data + 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 AliMUONVTriggerStore* fTriggerStore; //!< Trigger container + mutable AliMUONVTrackStore* fTrackStore; //!< Track container + mutable AliMUONVClusterStore* fClusterStore; //!< cluster store (when not in combined tracking mode) + mutable AliMUONTriggerElectronics* fTriggerProcessor; //!< Processor to recalculate trigger response + mutable AliMUONTriggerUtilities* fTriggerUtilities; //!< Trigger utilities for masks + mutable TObjArray fClusterServers; //!< Clusterizers (one per event specie) + mutable TObjArray fTrackers; //!< trackers (one per event specie) - AliMUONTriggerCrateStore* fCrateManager; //!< Crate array - - TClonesArray* fTriggerCircuit; //!< trigger circuit - - AliMUONGeometryTransformer* fTransformer; //!< pointer to transformation - AliMUONSegmentation* fSegmentation; //!< pointer to segmentation - - AliMUONData* fMUONData; //!< pointer to container - - ClassDef(AliMUONReconstructor, 0) // class for the MUON reconstruction + ClassDef(AliMUONReconstructor,11) // Implementation of AliReconstructor }; #endif