////////////////////////////////////////////////////////////////////////
// $Id: AlgDigiPairList.h,v 1.4 2002/01/18 15:22:39 miyagawa Exp $
//
// AlgDigiPairList
//
// An Algorithm class that fills a CandDigiPairList with
// CandDigiPairHandles pointing to CandDigiPairs constructed by matching
// CandDigits that correspond to opposite ends of the same strip.
//
// Author:  P.S. Miyagawa 8/2000
////////////////////////////////////////////////////////////////////////

#ifndef ALGDIGIPAIRLIST_H
#define ALGDIGIPAIRLIST_H

#include "Algorithm/AlgBase.h"

class PlexPlaneId;

class AlgDigiPairList : public AlgBase
{

public:

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

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

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

private:

// State testing methods
   Bool_t IsCosmic(PlexPlaneId pid) const;
   Bool_t MatchedEnds(TObjArray &cdhAr) const;

ClassDef(AlgDigiPairList,1)              // DigiPairList Algorithm Class

};

#endif                                              // ALGDIGIPAIRLIST_H
