#ifndef USERALG_H #define USERALG_H #include "Headers.h" #include "Event.h" #include "Geometry.h" #include "SystemAlg.h" #include "NoiseAlg.h" /*! -Class: UserAlg - Author: Michel Lefebvre - Date: 07/29/2003 - Description: example UserAlg that uses the NoiseAlg systemAlg to compute the fractional noise difference between the noise obtained from two different runs. The corresponding noise files are assumed to exist. The fractional noise differences are histogrammed and plotted. A 2D plot of the fractional noise difference is also generated for the hec and the emec. */ 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 NoiseAlg* m_noise; }; #endif