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

          Line data    Source code
       1             : #ifndef ALIMUONREFITTER_H
       2             : #define ALIMUONREFITTER_H
       3             : 
       4             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       5             : * See cxx source for full Copyright notice                               */
       6             : 
       7             : // $Id$
       8             : 
       9             : /// \ingroup rec
      10             : /// \class AliMUONRefitter
      11             : /// \brief class to refit the ESD clusters/tracks
      12             : /// 
      13             : //  Author Philippe Pillot
      14             : 
      15             : #include <TObject.h>
      16             : 
      17             : class AliMUONGeometryTransformer;
      18             : class AliMUONVClusterFinder;
      19             : class AliMUONVClusterServer;
      20             : class AliMUONVTrackReconstructor;
      21             : class AliMUONESDInterface;
      22             : class AliMUONVClusterStore;
      23             : class AliMUONVTrackStore;
      24             : class AliMUONTrack;
      25             : class AliMUONRecoParam;
      26             : 
      27             : class AliMUONRefitter : public TObject
      28             : {
      29             : public:
      30             :   
      31             :   AliMUONRefitter(const AliMUONRecoParam* recoParam);
      32             :   virtual ~AliMUONRefitter();
      33             :   
      34             :   /// connect to the ESD interface containing MUON data to refit
      35           0 :   void Connect(const AliMUONESDInterface* esdInterface) {fkESDInterface = esdInterface;}
      36             :   
      37             :   // re-reconstruct all tracks (clusters) in the ESD event
      38             :   AliMUONVTrackStore* ReconstructFromDigits();
      39             :   AliMUONVTrackStore* ReconstructFromClusters();
      40             :   
      41             :   // refit a particular track in the ESD event
      42             :   AliMUONTrack* RetrackFromDigits(UInt_t trackId);
      43             :   AliMUONTrack* RetrackFromClusters(UInt_t trackId);
      44             :   
      45             :   // re-clusterize a particular cluster in the ESD event
      46             :   AliMUONVClusterStore* ReClusterize(UInt_t trackId, UInt_t clusterId);
      47             :   AliMUONVClusterStore* ReClusterize(UInt_t clusterId);
      48             :   
      49             :   // set the first index of clusters produced by this refitter (to build its uniqueID)
      50           0 :   void SetFirstClusterIndex(Int_t index) {nextClusterIndex = (index >= 0) ? index : 0;}
      51             :   
      52             : protected:
      53             :   
      54             :   AliMUONRefitter (const AliMUONRefitter&); ///< copy constructor
      55             :   AliMUONRefitter& operator=(const AliMUONRefitter&); ///< assignment operator
      56             :   
      57             :   
      58             : private:
      59             :   
      60             :   void CreateGeometryTransformer();
      61             :   void CreateClusterServer(AliMUONGeometryTransformer& transformer);
      62             :   
      63             :   AliMUONTrack* RetrackFromDigits(const AliMUONTrack& track);
      64             :   
      65             :   Bool_t AddClusterToTracks(const AliMUONVClusterStore &localClusterStore, AliMUONVTrackStore &trackStore);
      66             :   
      67             : private:
      68             :     
      69             :   const AliMUONRecoParam*     fkRecoParam;          ///< pointer to reco param (not owner)
      70             :   const AliMUONESDInterface*  fkESDInterface;       ///< container of MUON tracks/clusters/digits (not owner)
      71             :   AliMUONGeometryTransformer* fGeometryTransformer; ///< geometry transformer (owner)
      72             :   AliMUONVClusterServer*      fClusterServer;       ///< clusterizer (owner)
      73             :   AliMUONVTrackReconstructor* fTracker;             ///< tracker (owner)
      74             :   
      75             :   Int_t nextClusterIndex; ///< Index of the next cluster produced by this refitter (to build its uniqueID)
      76             :   
      77          18 :   ClassDef(AliMUONRefitter,0)
      78             : };
      79             : 
      80             : #endif
      81             : 

Generated by: LCOV version 1.11