#ifndef DUMPBADELECTRONICS_H
#define DUMPBADELECTRONICS_H
  
#include "JobControl/JobCModule.h"
 
#include "DQHeader.h"
#include "DQHotColdElectronics.h"

#include "TFile.h"
#include "TTree.h"
 
class JobCommand;
class MomNavigator;
  
class DumpBadElectronics : public JobCModule, public TObject
{
  
public:
  
  DumpBadElectronics();
  ~DumpBadElectronics();
  void BeginJob();
  JobCResult Ana(const MomNavigator* mom);
  const Registry& DefaultConfig() const;
  void Config(const Registry& r);
  void HandleCommand(JobCommand* command);
  void EndJob();
    
private:

  Int_t fTime;
  Int_t fRecord;
  Int_t fCounter;
 
  DQHeader* fDQHeader;
  DQHotColdElectronics* fDQHotColdElectronics;

  void ProcessHeader(TObject* obj);
  void ProcessBlock(TObject* obj);

  TFile* fBadElectronicsFile;
  TTree* fBadElectronicsTree;

  Int_t Time;
  Int_t Crates;
  Int_t CratesInReadout;
  Int_t ColdChips[2];
  Int_t HotChips[2];

  void WriteOutResults();
   
  ClassDef(DumpBadElectronics,1)

};

#endif
