ROOT logo
#ifndef ALIMUONPRECLUSTERFINDERV2_H
#define ALIMUONPRECLUSTERFINDERV2_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice                               */

// $Id$

/// \ingroup rec
/// \class AliMUONPreClusterFinderV2
/// \brief A basic pre-cluster finder
/// 
// Author Laurent Aphecetche, Subatech

#ifndef AliMUONVCLUSTERFINDER_H
#  include "AliMUONVClusterFinder.h"
#endif

class TStopwatch;
class AliMUONPad;

class AliMUONPreClusterFinderV2 : public AliMUONVClusterFinder
{
public:
  AliMUONPreClusterFinderV2();
  virtual ~AliMUONPreClusterFinderV2();
  
  Bool_t NeedSegmentation() const { return kTRUE; }
  
  using AliMUONVClusterFinder::Prepare;

  virtual Bool_t Prepare(Int_t detElemId,                         
                         TObjArray* pads[2],
                         const AliMpArea& area,
                         const AliMpVSegmentation* seg[2]);
  
  virtual AliMUONCluster* NextCluster();

  virtual Bool_t UsePad(const AliMUONPad& pad);
  
private:
  /// Not implemented
  AliMUONPreClusterFinderV2(const AliMUONPreClusterFinderV2& rhs);
  /// Not implemented
  AliMUONPreClusterFinderV2& operator=(const AliMUONPreClusterFinderV2& rhs);

  void AddPad(AliMUONCluster& cluster, AliMUONPad* pad);
  
private:
  TClonesArray* fClusters; //!< the clusters we've found (owner)
  const AliMpVSegmentation** fkSegmentations; //!< segmentations (not owner)
  TObjArray** fPads; //!< the pads corresponding to the digits (not owner)
  Int_t fDetElemId; //!< which DE we're considering
  
  ClassDef(AliMUONPreClusterFinderV2,2) // A basic pre-cluster finder
};

#endif
 AliMUONPreClusterFinderV2.h:1
 AliMUONPreClusterFinderV2.h:2
 AliMUONPreClusterFinderV2.h:3
 AliMUONPreClusterFinderV2.h:4
 AliMUONPreClusterFinderV2.h:5
 AliMUONPreClusterFinderV2.h:6
 AliMUONPreClusterFinderV2.h:7
 AliMUONPreClusterFinderV2.h:8
 AliMUONPreClusterFinderV2.h:9
 AliMUONPreClusterFinderV2.h:10
 AliMUONPreClusterFinderV2.h:11
 AliMUONPreClusterFinderV2.h:12
 AliMUONPreClusterFinderV2.h:13
 AliMUONPreClusterFinderV2.h:14
 AliMUONPreClusterFinderV2.h:15
 AliMUONPreClusterFinderV2.h:16
 AliMUONPreClusterFinderV2.h:17
 AliMUONPreClusterFinderV2.h:18
 AliMUONPreClusterFinderV2.h:19
 AliMUONPreClusterFinderV2.h:20
 AliMUONPreClusterFinderV2.h:21
 AliMUONPreClusterFinderV2.h:22
 AliMUONPreClusterFinderV2.h:23
 AliMUONPreClusterFinderV2.h:24
 AliMUONPreClusterFinderV2.h:25
 AliMUONPreClusterFinderV2.h:26
 AliMUONPreClusterFinderV2.h:27
 AliMUONPreClusterFinderV2.h:28
 AliMUONPreClusterFinderV2.h:29
 AliMUONPreClusterFinderV2.h:30
 AliMUONPreClusterFinderV2.h:31
 AliMUONPreClusterFinderV2.h:32
 AliMUONPreClusterFinderV2.h:33
 AliMUONPreClusterFinderV2.h:34
 AliMUONPreClusterFinderV2.h:35
 AliMUONPreClusterFinderV2.h:36
 AliMUONPreClusterFinderV2.h:37
 AliMUONPreClusterFinderV2.h:38
 AliMUONPreClusterFinderV2.h:39
 AliMUONPreClusterFinderV2.h:40
 AliMUONPreClusterFinderV2.h:41
 AliMUONPreClusterFinderV2.h:42
 AliMUONPreClusterFinderV2.h:43
 AliMUONPreClusterFinderV2.h:44
 AliMUONPreClusterFinderV2.h:45
 AliMUONPreClusterFinderV2.h:46
 AliMUONPreClusterFinderV2.h:47
 AliMUONPreClusterFinderV2.h:48
 AliMUONPreClusterFinderV2.h:49
 AliMUONPreClusterFinderV2.h:50
 AliMUONPreClusterFinderV2.h:51
 AliMUONPreClusterFinderV2.h:52
 AliMUONPreClusterFinderV2.h:53
 AliMUONPreClusterFinderV2.h:54
 AliMUONPreClusterFinderV2.h:55
 AliMUONPreClusterFinderV2.h:56
 AliMUONPreClusterFinderV2.h:57
 AliMUONPreClusterFinderV2.h:58