LCOV - code coverage report
Current view: top level - MUON/MUONrec - AliMUONClusterStoreV2.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 4 50.0 %
Date: 2016-06-14 17:26:59 Functions: 3 8 37.5 %

          Line data    Source code
       1             : #ifndef ALIMUONCLUSTERSTOREV2_H
       2             : #define ALIMUONCLUSTERSTOREV2_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 AliMUONClusterStoreV2
      11             : /// \brief Implementation of VClusterStore
      12             : /// 
      13             : // Author Philippe Pillot, Subatech
      14             : 
      15             : #ifndef ALIMUONVCLUSTERSTORE_H
      16             : #  include "AliMUONVClusterStore.h"
      17             : #endif
      18             : 
      19             : #include "AliMUONVCluster.h"
      20             : #include <TClonesArray.h>
      21             : 
      22             : class AliMUONClusterStoreV2 : public AliMUONVClusterStore
      23             : {
      24             :   friend class AliMUONClusterStoreV2Iterator;
      25             :   
      26             : public:
      27             :   AliMUONClusterStoreV2();
      28             :   AliMUONClusterStoreV2(TRootIOCtor* dummy);
      29             :   AliMUONClusterStoreV2(const AliMUONClusterStoreV2& store);
      30             :   AliMUONClusterStoreV2& operator=(const AliMUONClusterStoreV2& store);  
      31             :   virtual ~AliMUONClusterStoreV2();
      32             :   
      33             :   virtual void Clear(Option_t* opt="");
      34             :   
      35             :   /// Whether the Connect(TTree&) method is implemented
      36           0 :   virtual Bool_t CanConnect() const { return kTRUE; }
      37             :   virtual Bool_t Connect(TTree& tree, Bool_t alone=kTRUE) const;
      38             :   
      39             :   /// Create an empty copy of this
      40           0 :   virtual AliMUONClusterStoreV2* Create() const { return new AliMUONClusterStoreV2; }
      41             :   
      42             :   virtual AliMUONVCluster* CreateCluster(Int_t chamberId, Int_t detElemId, Int_t clusterIndex) const;
      43             :   
      44             :   using AliMUONVClusterStore::Add;
      45             :   
      46             :   virtual AliMUONVCluster* Add(const AliMUONVCluster& Cluster);
      47             :   virtual AliMUONVCluster* Add(Int_t chamberId, Int_t detElemId, Int_t clusterIndex);
      48             : 
      49             :   virtual AliMUONVCluster* Remove(AliMUONVCluster& cluster);
      50             : 
      51             :   using AliMUONVClusterStore::GetSize;
      52             :   
      53             :   /// Return the number of clusters we hold
      54         344 :   virtual Int_t GetSize() const {return fClusters->GetLast()+1;}
      55             :   
      56             :   using AliMUONVStore::FindObject;
      57             :   
      58             :   AliMUONVCluster* FindObject(const TObject* object) const;
      59             :   AliMUONVCluster* FindObject(UInt_t uniqueID) const;
      60             :   
      61             :   virtual TIterator* CreateIterator() const;
      62             :   virtual TIterator* CreateChamberIterator(Int_t firstChamberId, Int_t lastChamberId) const;
      63             :   
      64             : private:
      65             :   void ReMap();
      66             :   void UpdateMap(AliMUONVCluster& cluster);
      67             :   
      68             : private:
      69             :   TClonesArray* fClusters; ///< collection of clusters
      70             :   TClonesArray* fMap;      //!<! index map for fast cluster retrieval
      71             :   Bool_t        fMapped;   //!<! whether our internal indices are uptodate
      72             :   
      73          34 :   ClassDef(AliMUONClusterStoreV2,1) // Implementation of VClusterStore
      74             : };
      75             : 
      76             : #endif

Generated by: LCOV version 1.11