////////////////////////////////////////////////////////////////////////
//
// "$Id: CandCalDetPID.h,v 1.3 2006/06/21 00:53:18 rhatcher Exp $"
//
// CandCalDetPID
//
// Package: CalDetPID
//
// A Candidate to hold the result of a PID decision for CalDet.
// This class holds a bit field in which each bit corresponds to 
// a particular particle type.  This allows the class to designate
// a particle as being "a pion OR a muon" for example.
//
//
// Contact: kordosky@hep.utexas.edu
//
// Created on: Sun Apr 27 11:52:34 CDT 2003
// (generated by kordosky@unknown with init-cand-alg.pl)
//
////////////////////////////////////////////////////////////////////////


#ifndef CALDETPID_CANDCALDETPID_H
#define CALDETPID_CANDCALDETPID_H

#include "Candidate/CandBase.h"
#include "CalDetPID/CandCalDetPIDHandle.h"


class AlgHandle;
class CandContext;
class CandCalDetPIDHandle;

class CandCalDetPID : public CandBase
{
    friend class CandCalDetPIDHandle;

public:

    static CandCalDetPIDHandle MakeCandidate(AlgHandle& ah, CandContext& ch);
    CandCalDetPID();

protected:
    CandCalDetPID(AlgHandle& ah);
    CandCalDetPID(AlgHandle& ah, CandHandle& ch, CandContext& cx);
    CandCalDetPID(const CandCalDetPID& rhs);
    virtual ~CandCalDetPID();
    virtual void CreateLocalHandle();
    virtual CandCalDetPID* Dup() const;

private: 
    // The data for the candidate goes here

     Bool_t fNoOverlap;
     Bool_t fInCERTime;
     UInt_t fPIDType; // a bit field 
     UInt_t fNoOverlapBits;
     UInt_t fInCERTimeBits;
     Float_t fOLChi2; 
     
    ClassDef(CandCalDetPID,2)
};

#endif // CALDETPID_CANDCALDETPID_H

