CEventManager.h
//-----------------------------------------------------------------------------
// $Header: /tmp_mnt/asis/offline/ceres/cool/project/RCS/CEventManager.h,v 2.1 1996/10/04 08:43:04 voigt Exp $
//
// COOL Program Library
// Copyright (C) CERES collaboration, 1996
//
// Declaration of class CEventManager.
//
// CEventManager offers the same features as CEventServer but
// has additional capabilities to write raw data events to file.
//
//-----------------------------------------------------------------------------
#ifndef CEVENTMANAGER_H
#define CEVENTMANAGER_H
#include "CEventServer.h"
class CEventManager : public CEventServer {
enum {maxOfstreamNumber = 2};
public:
CEventManager();
CEventManager(const char* inFile, const char* outFile = "/dev/null");
~CEventManager();
int setOutput(const char*); // direct output to given file
CBoolean writeCurrentEvent(int);
void printSummary(ostream& = cout); // print input and output statistics
protected:
CEventManager(const CEventManager &);
CEventManager & operator = (const CEventManager &);
private:
Cofstream ofs[2];
CString outputFilename [maxOfstreamNumber];
int outputEvtCounter[maxOfstreamNumber];
int outputSoBCounter[maxOfstreamNumber];
int outputEoBCounter[maxOfstreamNumber];
int outputSoRCounter[maxOfstreamNumber];
int outputEoRCounter[maxOfstreamNumber];
int outputOoBCounter[maxOfstreamNumber];
int nextOfstreamNumber;
};
#endif /* CEVENTMANAGER_H */