#ifndef CANDDEADCHIP_H
#define CANDDEADCHIP_H

#include "Candidate/CandBase.h"
#include "RawData/RawChannelId.h"

class AlgHandle;
class CandContext;
class CandDeadChipHandle;

class CandDeadChip : public CandBase
{
  friend class CandDeadChipHandle;

public:
  typedef enum EChipStatus {
    kOkay = 0x00,
    kBad = 0x01,
    kCold = 0x02,
    kHot = 0x04,
    kBusy = 0x08,
    kError = 0x10
  } ChipStatus_t;

  static CandDeadChipHandle MakeCandidate(AlgHandle& ah, CandContext& ch);
  CandDeadChip();

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

private: 
  Int_t fEntries;
  RawChannelId fRawChannelId;
  Int_t fAdc;
  Int_t fTdc;
  Int_t fTdc0;
  Int_t fErrorCode;
  Int_t fTriggerRate;
  CandDeadChip::ChipStatus_t fStatus;

  ClassDef(CandDeadChip,2)
};

#endif 

