ATLAS Offline Software
IParticleProcessor.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // IParticleProcessor.h, (c) ATLAS Detector software
8 
9 #ifndef ISF_FATRASINTERFACES_IPARTICLEPROCESSOR_H
10 #define ISF_FATRASINTERFACES_IPARTICLEPROCESSOR_H
11 
12 // Gaudi
13 #include "GaudiKernel/IAlgTool.h"
15 
16 // Random Number Generation
17 #include "CLHEP/Random/RandomEngine.h"
18 
19 namespace ISF {
20 
21  class ISFParticle;
22 
35  class ATLAS_NOT_THREAD_SAFE IParticleProcessor : virtual public IAlgTool { // deprecated: ATLASSIM-6020
36  public:
37 
39  virtual ~IParticleProcessor(){}
40 
43 
46  virtual ISF::ISFParticle* process(const ISF::ISFParticle& isp, CLHEP::HepRandomEngine *randomEngine = nullptr) const = 0;
47  };
48 
49 } // end of namespace
50 
51 #endif
52 
ISF::IParticleProcessor::DeclareInterfaceID
DeclareInterfaceID(IParticleProcessor, 1, 0)
Creates the InterfaceID and interfaceID() method.
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
ISF::IParticleProcessor::process
virtual ISF::ISFParticle * process(const ISF::ISFParticle &isp, CLHEP::HepRandomEngine *randomEngine=nullptr) const =0
Creates a new ISFParticle from a given ParticleState, universal transport tool.
ISF::IParticleProcessor
Definition: IParticleProcessor.h:35
ISF::ISFParticle
Definition: ISFParticle.h:42
ISF
ISFParticleOrderedQueue.
Definition: PrimaryParticleInformation.h:13
checker_macros.h
Define macros for attributes used to control the static checker.
ISF::IParticleProcessor::~IParticleProcessor
virtual ~IParticleProcessor()
Virtual destructor.
Definition: IParticleProcessor.h:39