////////////////////////////////////////////////////////////////////////
// $Id: CandFitTrackMSHandle.h,v 1.4 2003/02/11 00:32:10 rhatcher Exp $
//
// CandFitTrackMSHandle is the specialized access handle to CandFitTrackMS.
//
// Each concrete CandHandle must define a DupHandle function.
//
// Tom Bringley
// ttb2@duke.edu
// 6/13/2001
////////////////////////////////////////////////////////////////////////

#ifndef CANDFITTRACKMSHANDLE_H
#define CANDFITTRACKMSHANDLE_H

#include "Conventions/PlaneView.h"
#include "Navigation/XxxItr.h"
#include "RecoBase/CandFitTrackHandle.h"
class CandFitTrackMS;

class CandFitTrackMSHandle : public CandFitTrackHandle
{

public:
  CandFitTrackMSHandle();
  CandFitTrackMSHandle(const CandFitTrackMSHandle &csh);
  CandFitTrackMSHandle(CandFitTrackMS *cs);
  virtual ~CandFitTrackMSHandle();
  virtual CandFitTrackMSHandle *DupHandle() const;

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

  Double_t GetMomentumL() const;
  void     SetMomentumL(Double_t);
  Double_t GetMomentumBF() const;
  void     SetMomentumBF(Double_t);
  Double_t GetMomentumMS() const;
  void     SetMomentumMS(Double_t);
  Double_t GetMomentumBoth() const;
  void     SetMomentumBoth(Double_t);
  Double_t GetMomentumAlt() const;
  void     SetMomentumAlt(Double_t);

  Double_t GetChi2L() const;
  void     SetChi2L(Double_t);
  Double_t GetChi2BF() const;
  void     SetChi2BF(Double_t);
  Double_t GetChi2MS() const;
  void     SetChi2MS(Double_t);
  Double_t GetChi2Both() const;
  void     SetChi2Both(Double_t);
  Double_t GetChi2Alt() const;
  void     SetChi2Alt(Double_t);
  
  Int_t    GetFlag() const;
  void     SetFlag(Int_t);

  Double_t GetEMChargeD() const;
  void     SetEMChargeD(Double_t);

  Int_t    GetIter() const;
  void     SetIter(Int_t);
  
private:

ClassDef(CandFitTrackMSHandle,1)       // CandFitTrackMSHandle

};

XXXITRDEF(CandFitTrackMSHandle)

#endif
