#ifndef USERALG_H #define USERALG_H //#include "HecRunHeader2001v0.h" #include "Headers.h" //#include "HecEvent.h" #include "Event.h" #include "Geometry.h" #include "SystemAlg.h" #include "OccupancyAlg.h" /*! -Class: UserAlg - Author: Michel Lefebvre - Date: 29/07/2003 - Description: example UserAlg that uses the OccupancyAlg systemAlg to produce the occupancy for a run. Occupancy files (one for the hec and one for the emec) are produced. A 2D plot of the occupancy is also generated for the hec and the emec, and well as their occupancy distribution. */ class UserAlg : public SystemAlg { public: /** The user should never need to use this contructor * @param event A pointer in the event. Information contained in the event * gets refreshed before the execute method is run * @param hecGeom Pointer to the singleton Geometry object * @param runHeader Pointer to the singleton HecRunHeader object */ UserAlg(Event* event, Geometry* hecGeom, Headers* runHeader); //! Gets run once at the begining of the event Loop bool initialize(); //! Gets run for every event bool execute(); //! Gets run after all events have been executed bool finalize(); private: //################################ // private variables Geometry* m_geo; Event* m_event; Headers* m_runHeader; // pointer to NoiseAlg systemAlg OccupancyAlg* m_occupancy; }; #endif