////////////////////////////////////////////////////////////////////////
// $Id: AlgBandClusterList.h,v 1.1 2002/02/25 15:44:32 miyagawa Exp $
//
// AlgBandClusterList
//
// An Algorithm class that groups together CandDigiPairs based on their
// proximity to a central band.
//
// Author:  P.S. Miyagawa 2/2002
////////////////////////////////////////////////////////////////////////

#ifndef ALGBANDCLUSTERLIST_H
#define ALGBANDCLUSTERLIST_H

#include "Algorithm/AlgBase.h"

class CandSliceHandle;
class ClusterBox;
class TObjArray;

class AlgBandClusterList : public AlgBase
{

public:

// Constructors and destructors
   AlgBandClusterList();
   virtual ~AlgBandClusterList();

// State testing methods
   virtual void Trace(const char *c) const;

// State changing methods
   virtual void RunAlg(AlgConfig &ac, CandHandle &ch, CandContext &cx);

private:

// State changing members
   void RunAlgOnSlice(AlgConfig &ac, CandHandle &ch, CandContext &cx,
                      CandSliceHandle *csh);

ClassDef(AlgBandClusterList,1)         // MSTClusterList Algorithm Class

};

#endif                                           // ALGBANDCLUSTERLIST_H
