/////////////////////////////////////////////////////////////////////////////////
//
// PURPOSE:  DropWeight Log Class.
// AUTHOR:   Rob McEwen.
// DATE:     01/3/9
// COMMENTS: 
//
////////////////////////////////////////////////////////////////////////////////
//

#ifndef DROPWEIGHTLOG_H
#define DROPWEIGHTLOG_H

#define DropWeightLogName "DropWeight"

#include "DataLogWriter.h"
#include "IntegerData.h"
#include "DoubleData.h"
#include "ShortData.h"
#include "AngleData.h"
#include "TimeTag.h"

class DropWeight;

class DropWeightLog : public DataLogWriter {

public:

  ///////////////////////////////////////////////////////////////////
  // Constructor
  // [input] fileFormat: Specifies either DataLog::AsciiFormat or 
  //         DataLog::BinaryFormat.
  DropWeightLog(DropWeight *dropWeight, DataLog::FileFormat fileFormat);

  ~DropWeightLog();

protected:
  DropWeight *_dropWeight;
  ShortData *Wdt;
  ShortData *Bwt;  
  ShortData *WDC;
  ShortData *ACommsDN;
  ShortData *WDSt_out;
  ShortData *DW_out;
  ShortData *GulperProxIn;

  ///////////////////////////////////////////////////////////////////
  // Set values in record array elements. This virtual method is called
  // by DataLogWriter::write()
  virtual void setFields();
};

#endif
