Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:57:39

0001 /***********************************************************************************\
0002 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
0003 *                                                                                   *
0004 * This software is distributed under the terms of the Apache version 2 licence,     *
0005 * copied verbatim in the file "LICENSE".                                            *
0006 *                                                                                   *
0007 * In applying this licence, CERN does not waive the privileges and immunities       *
0008 * granted to it by virtue of its status as an Intergovernmental Organization        *
0009 * or submit itself to any jurisdiction.                                             *
0010 \***********************************************************************************/
0011 #ifndef GAUDIKERNEL_IEVENTPROCESSOR_H
0012 #define GAUDIKERNEL_IEVENTPROCESSOR_H 1
0013 
0014 // Include files
0015 #include <GaudiKernel/EventContext.h>
0016 #include <GaudiKernel/IInterface.h>
0017 
0018 /** @class IEventProcessor IEventProcessor.h GaudiKernel/IEventProcessor.h
0019  *  The IEventProcessor is the interface to process events.
0020  *
0021  *  @author Markus Frank
0022  *   @version 2
0023  */
0024 class GAUDI_API IEventProcessor : virtual public IInterface {
0025 public:
0026   /// InterfaceID
0027   DeclareInterfaceID( IEventProcessor, 4, 0 );
0028 
0029   virtual EventContext createEventContext() = 0;
0030   /// Process single event
0031   virtual StatusCode executeEvent( EventContext&& ctx ) = 0;
0032   /// Process the maxevt events as a Run
0033   virtual StatusCode executeRun( int maxevt ) = 0;
0034   /// Process the next maxevt events
0035   virtual StatusCode nextEvent( int maxevt ) = 0;
0036   /// Schedule a stop of the current event processing
0037   virtual StatusCode stopRun() = 0;
0038 };
0039 
0040 #endif // GAUDIKERNEL_IEVENTPROCESSOR_H