#ifndef RANDOMFILTERMODULE_HH #define RANDOMFILTERMODULE_HH #include "Framework/APPFilterModule.hh" #include "Framework/AbsParmBool.hh" #include "Framework/AbsParmGeneral.hh" // CHLEP Random number classes class HepRandomEngine; class RandFlat; class RandomFilterModule : public AppFilterModule { public: RandomFilterModule( const char* const theName, const char* const theDescription ); virtual AppResult beginJob( AbsEvent* aJob ); virtual AppResult beginRun( AbsEvent* aRun ); virtual AppResult event( AbsEvent* anEvent ); virtual AppResult endRun( AbsEvent* aRun ); virtual AppResult endJob( AbsEvent* aJob ); virtual AppResult abortJob( AbsEvent* aJob ); virtual AppModule* clone(const char* cloneName); virtual ~RandomFilterModule( ); private: // Pass Probability for Filter AbsParmGeneral _PassProbability; // Random Number Seed AbsParmGeneral _randomSeed; static const long _defaultRandomSeed; // Debug AbsParmGeneral _debug; // Random Number Generating Engine HepRandomEngine* _randomEngine; // Random Number Generator for Passing Throw RandFlat* _flatGenerator; // Parameters for Random Numbers }; #endif