9#ifndef ISF_INTERFACES_ISIMULATIONSELECTOR_H
10#define ISF_INTERFACES_ISIMULATIONSELECTOR_H 1
13#include "GaudiKernel/IAlgTool.h"
14#include "GaudiKernel/ServiceHandle.h"
15#include "GaudiKernel/ToolHandle.h"
Define macros for attributes used to control the static checker.
The generic ISF particle definition,.
virtual ~ISimulationSelector()
virtual destructor
virtual bool selfSelect(const ISFParticle &particle) const =0
make the routing decision
virtual ServiceHandle< ISimulationSvc > *simulator ATLAS_NOT_THREAD_SAFE()=0
return a handle on the simulator
virtual bool passSelectorCuts(const ISFParticle &particle) const =0
check whether given particle passes all cuts -> will be used for routing decision
virtual void beginEvent ATLAS_NOT_THREAD_SAFE()=0
called at the beginning of each athena event (can be used for eg.
virtual ISF::SimulationFlavor simFlavor() const =0
return the simulation flavor
virtual void endEvent ATLAS_NOT_THREAD_SAFE()=0
called at the end of each athena event (can be used for eg.
DeclareInterfaceID(ISimulationSelector, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual void initializeSelector()=0
initialize Selector
virtual bool isDynamic()=0
return if is this a static or dynamic SimulationSelector (is used by fully dynamic partilce routers)
virtual SimSvcID simSvcID ATLAS_NOT_THREAD_SAFE()=0
return the simulation service ID
virtual void update ATLAS_NOT_THREAD_SAFE(const ISFParticle &)=0
update internal event representation
int SimulationFlavor
Identifier type for simulation flavor.
ToolHandleArray< ISimulationSelector > SimSelectorToolArray
typedef for better readable code
uint8_t SimSvcID
Simulation service ID datatype.