////////////////////////////////////////////////////////////////////////
// $Id: CandTrackSRListHandle.h,v 1.4 2003/04/04 15:37:57 rlee Exp $
//
// CandTrackSRListHandle
//
// CandTrackSRListHandle is the specialized access handle to CandTrackSRList.
//
// Each concrete CandHandle must define a DupHandle function.
//
// Author:  R. Lee 2001.02.26
//
////////////////////////////////////////////////////////////////////////

#ifndef CANDTRACKSRLISTHANDLE_H
#define CANDTRACKSRLISTHANDLE_H

#include "Navigation/XxxItr.h"
#include "RecoBase/CandTrackListHandle.h"
class CandTrackSRList;
class TrackClusterSR;
class TObjArray;

class CandTrackSRListHandle : public CandTrackListHandle
{

public:
  CandTrackSRListHandle();
  CandTrackSRListHandle(const CandTrackSRListHandle &cdh);
  CandTrackSRListHandle(CandTrackSRList *cd);
  virtual ~CandTrackSRListHandle();
  virtual CandTrackSRListHandle *DupHandle() const;

  virtual void Trace(const char *c = "") const;

  void AddTrackCluster(TrackClusterSR *);
// this creates a new TrackClusterSR which is destroyed in the
// CandTrackSRList destructor

  TObjArray *GetTrackClusterList() const;

// execution time
   Double_t GetCPUTime() const;
   void SetCPUTime(Double_t);

ClassDef(CandTrackSRListHandle,1)           // User access handle to CandTrackSR

};

XXXITRDEF(CandTrackSRListHandle)

#endif                                              // CANDTRACKSRLISTHANDLE_H
