// -*- mode: C++ -*-
//
// Pibero Djawotho <pibero@indiana.edu>
// Indiana University
// Nov 18 2007
//

#ifndef ST_HEAVY_TRIGGER_H
#define ST_HEAVY_TRIGGER_H

// STAR
class StEvent;
class StMuDst;
struct TrgDataType2005;

// ROOT
#include "TDataSet.h"

class StHeavyTrigger : public TDataSet {
public:
  StHeavyTrigger() : TDataSet("StHeavyTrigger"), mHT(0), mTP(0), mTriggerData(0), mBemcData(0) {}
  StHeavyTrigger(int* ht, int* tp, TrgDataType2005* triggerData, unsigned short* bemcData) : TDataSet("StHeavyTrigger"), mHT(ht), mTP(tp), mTriggerData(triggerData), mBemcData(bemcData) {}
  ~StHeavyTrigger() {}

  bool isHT(int ht) const;
  bool isHTW(int htw) const;	// west
  bool isHTE(int hte) const;	// east
  bool isHTTP(int ht, int tp) const;
  bool isTrigger(int id) const;

private:
  enum { NPATCHES = 300 };

  int* mHT;
  int* mTP;
  TrgDataType2005* mTriggerData;
  unsigned short* mBemcData;

  ClassDef(StHeavyTrigger, 1);
};

#endif
