/////////////////////////////////////////////////////////////////// // // This processor counts events to allow separation in different sub-sub-files // It takes as inputs the First (inclusive) and Last (exclusive) event to choose // // Author: Sofia Andringa // Revision History: 2017-03-30 - 1st version /////////////////////////////////////////////////////////////////// #ifndef __RAT_CountsBetween__ #define __RAT_CountsBetween__ #include #include namespace RAT { class CountsBetween : public Processor { public: // Create new count processor. // // Default update interval is to print a status line for every physics event. CountsBetween(); // Destroy count processor. virtual ~CountsBetween(); // Applies the CBmin (>=0) and CBmax (=-1 or >CBMin) selection // // param: should be update // value: should be the update interval // Throws ParamUnknown if param is not update // Throws ParamInvalid if value is not >0 virtual void SetI( const std::string& param, const int value ); // Called for each event // // Increment event counters, print message if number of physics events is divisible by update interval. // // run: run information to process // ds: entry information to process // Returns as OK always. virtual Processor::Result DSEvent( DS::Run& /*run*/, DS::Entry& /*ds*/ ); protected: int fDsCount; // Number of physics events //int fEvCount; // Number of triggered events int fMinimum; // Number of physics events per update line int fMaximum; // Number of physics events per update line }; } // namespace RAT #endif