ATLAS Offline Software
IParticleOrderingTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // IParticleOrderingTool.h, (c) ATLAS Detector software
8 
9 
10 #ifndef ISF_INTERFACES_IORDERINGTOOL_H
11 #define ISF_INTERFACES_IORDERINGTOOL_H 1
12 
13 
14 #include "GaudiKernel/IAlgTool.h"
15 
16 // Simulation includes
17 #include "ISF_Event/ISFParticle.h"
18 #include "ISF_Event/ParticleOrder.h"
19 
20 namespace ISF {
21 
22  class ISFParticle;
23 
35  class IParticleOrderingTool : virtual public IAlgTool {
36  public:
37 
40 
43 
45  inline void setOrder( ISFParticle& p );
46 
48  virtual ISF::ParticleOrder computeOrder( const ISFParticle &p ) const = 0;
49  };
50 
51 
52  //
53  // inline methods
54  //
55 
58  ISF::ParticleOrder order = computeOrder(p);
59  p.setOrder( order );
60  }
61 
62 } // end of namespace
63 
64 #endif // ISF_INTERFACES_IORDERINGTOOL_H
ISF::IParticleOrderingTool::computeOrder
virtual ISF::ParticleOrder computeOrder(const ISFParticle &p) const =0
compute the order for the given ISF particle
ISF::IParticleOrderingTool::DeclareInterfaceID
DeclareInterfaceID(IParticleOrderingTool, 1, 0)
Creates the InterfaceID and interfaceID() method.
ISF::ISFParticle
Definition: ISFParticle.h:42
ISF::ParticleOrder
int ParticleOrder
particle order definition
Definition: ParticleOrder.h:15
ISFParticle.h
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
ParticleOrder.h
mc.order
order
Configure Herwig7.
Definition: mc.Herwig7_Dijet.py:12
ISF::IParticleOrderingTool::setOrder
void setOrder(ISFParticle &p)
set the order for the given particle
Definition: IParticleOrderingTool.h:57
ISF::IParticleOrderingTool
Definition: IParticleOrderingTool.h:35
ISF::IParticleOrderingTool::~IParticleOrderingTool
virtual ~IParticleOrderingTool()
Virtual destructor.
Definition: IParticleOrderingTool.h:39
ISF
ISFParticleOrderedQueue.
Definition: PrimaryParticleInformation.h:13