LCOV - code coverage report
Current view: top level - MUON/MUONrec - AliMUONTracker.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 5 40.0 %
Date: 2016-06-14 17:26:59 Functions: 3 9 33.3 %

          Line data    Source code
       1             : #ifndef ALIMUONTRACKER_H
       2             : #define ALIMUONTRACKER_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : // $Id$
       7             : 
       8             : /// \ingroup rec
       9             : /// \class AliMUONTracker
      10             : /// \brief MUON base Tracker
      11             : ///
      12             : //  Authors: Christian Finck, Laurent Aphecetche, SUBATECH Nantes
      13             : 
      14             : #include "AliTracker.h"
      15             : 
      16             : class AliCluster;
      17             : class AliESDEvent;
      18             : class AliMUONGeometryTransformer;
      19             : class AliMUONRecoParam;
      20             : class AliMUONTrackHitPattern;
      21             : class AliMUONTriggerCircuit;
      22             : class AliMUONVClusterServer;
      23             : class AliMUONVClusterStore;
      24             : class AliMUONVDigitStore;
      25             : class AliMUONVTrackReconstructor;
      26             : class AliMUONVTrackStore;
      27             : class AliMUONVTriggerStore;
      28             : class AliMUONVTriggerTrackStore;
      29             : class AliMUONTriggerUtilities;
      30             : 
      31             : class AliMUONTracker : public AliTracker
      32             : {
      33             :  public:
      34             : 
      35             :   AliMUONTracker(const AliMUONRecoParam* recoParam,
      36             :                  AliMUONVClusterServer* clusterServer,
      37             :                  AliMUONVDigitStore& digitStore,
      38             :                  const AliMUONGeometryTransformer* transformer=0,
      39             :                  const AliMUONTriggerCircuit* triggerCircuit=0,
      40             :                  const AliMUONTriggerUtilities* triggerUtilities=0);
      41             :   virtual ~AliMUONTracker();
      42             :   
      43             :   virtual Int_t Clusters2Tracks(AliESDEvent* esd);
      44             : 
      45             :   virtual Int_t LoadClusters(TTree* clustersTree);
      46             : 
      47             :   virtual void  UnloadClusters();
      48             : 
      49             :   /// Return reco parameters
      50          68 :   const AliMUONRecoParam* GetRecoParam() const { return fkRecoParam; }
      51             :   
      52             :   /// Dummy implementation
      53           0 :   virtual Int_t PropagateBack(AliESDEvent* /*event*/) {return 0;}
      54             :   /// Dummy implementation
      55           0 :   virtual Int_t RefitInward(AliESDEvent* /*event*/) {return 0;}
      56             :   /// Dummy implementation
      57           0 :   virtual AliCluster *GetCluster(Int_t /*index*/) const {return 0;}
      58             : 
      59             :   static AliMUONVTrackReconstructor* CreateTrackReconstructor(const AliMUONRecoParam* recoParam,
      60             :                                                               AliMUONVClusterServer* clusterServer,
      61             :                                                               const AliMUONGeometryTransformer* transformer);
      62             :   
      63             : private:
      64             :   /// Not implemented
      65             :   AliMUONTracker(const AliMUONTracker& rhs);
      66             :   /// Not implemented
      67             :   AliMUONTracker& operator=(const AliMUONTracker& rhs);
      68             :     
      69             :   AliMUONVClusterStore* ClusterStore() const;
      70             : 
      71             :   AliMUONVTriggerTrackStore* TriggerTrackStore() const;
      72             :   
      73             :   void FillESD(const AliMUONVTrackStore& trackStore, AliESDEvent* esd) const;
      74             : 
      75             :   void SetupClusterServer(AliMUONVClusterServer& clusterServer);
      76             :   
      77             : private:
      78             :   const AliMUONGeometryTransformer* fkTransformer; //!<! geometry transformer (not owner)
      79             :   const AliMUONTriggerCircuit* fkTriggerCircuit; //!<! trigger circuit (not owner)
      80             :   AliMUONTrackHitPattern* fTrackHitPatternMaker; //!<! trigger hit pattern maker
      81             :   AliMUONVTrackReconstructor* fTrackReco; //!<! track reconstructor
      82             :   mutable AliMUONVClusterStore* fClusterStore; //!<! cluster container
      83             :   AliMUONVTriggerStore* fTriggerStore; //!<! trigger information
      84             :   AliMUONVClusterServer* fClusterServer; //!<! to get clusters
      85             :   Bool_t fIsOwnerOfClusterServer; //!<! whether we are owner of the cluster server
      86             :   const AliMUONVDigitStore& fkDigitStore; //!<! digit info to fill in ESD
      87             :   mutable AliMUONVClusterStore* fInputClusterStore; //!<! cluster container
      88             :   mutable AliMUONVTriggerTrackStore* fTriggerTrackStore; //!<! trigger track store
      89             :   const AliMUONRecoParam* fkRecoParam; //!<! pointer to reco param
      90             :   AliMUONVTrackStore* fInternalTrackStore; //!<! internal track store
      91             :   
      92          90 :   ClassDef(AliMUONTracker,0)  //tracker base class for MUON
      93             : };
      94             : #endif

Generated by: LCOV version 1.11