ATLAS Offline Software
Loading...
Searching...
No Matches
ILorentzVectorGenerator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef HEPMC_INTERFACES_ILORENTZVECTORGENERATOR_H
6#define HEPMC_INTERFACES_ILORENTZVECTORGENERATOR_H 1
7
8// Gaudi
9#include "GaudiKernel/IAlgTool.h"
10
11// forward declarations
12namespace CLHEP {
13 class HepLorentzVector;
14}
15
16class EventContext;
17
18namespace Simulation {
19
27
28 class ILorentzVectorGenerator : virtual public IAlgTool {
29 public:
32
35
37 virtual CLHEP::HepLorentzVector* generate(const EventContext& ctx) const = 0;
38 };
39
40} // end of namespace
41
42#endif // HEPMC_INTERFACES_ILORENTZVECTORGENERATOR_H
Interface definition for an AthenaTool creating a HepLorentzVector.
virtual ~ILorentzVectorGenerator()
Virtual destructor.
DeclareInterfaceID(ILorentzVectorGenerator, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual CLHEP::HepLorentzVector * generate(const EventContext &ctx) const =0
Returns a HepLorentzVector.