#ifndef _IBCMICROSAMPLER_H
#define _IBCMICROSAMPLER_H

#include "IbcApp.h"

/*
CLASS 
IbcMicroSampler

DESCRIPTION
Periodically samples and processes data from IBC

AUTHOR
Tom O'Reilly
*/
class IbcMicroSampler : public MicroSampler
{
  public:

  ///////////////////////////////////////////////////////////////////
  // Constructor
  // [input] name: Application name
  // [input] app: Parent IbcApp
  IbcMicroSampler(const char *name, IbcApp *app);

  ~IbcMicroSampler();

  ///////////////////////////////////////////////////////////////////
  // Run sampling methods for IbcCards
  void ibcCardsCallback();
  

  protected:

  ///////////////////////////////////////////////////////////////////
  // Start DM providers, etc, including those in IbcCards
  virtual void startSampling();
  
  IbcApp *_app;

};

#endif
