ATLAS Offline Software
IHepMCWeightSvc.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 EVGENPRODTOOLS_IHEPMCWEIGHTSVC_H
6 #define EVGENPRODTOOLS_IHEPMCWEIGHTSVC_H
7 
8 #include "GaudiKernel/IInterface.h"
9 #include "GaudiKernel/ThreadLocalContext.h"
10 #include <string>
11 #include <map>
12 
17 class IHepMCWeightSvc : virtual public IInterface
18 {
19 public:
21 
22  using WeightMap = std::map<std::string, std::size_t>;
23 
24 
27  const EventContext& ctx = Gaudi::Hive::currentContext())= 0;
28 
30  virtual WeightMap weightNames (const EventContext& ctx = Gaudi::Hive::currentContext()) = 0;
31 
33  virtual std::vector<std::string> weightNameVec (const EventContext& ctx = Gaudi::Hive::currentContext()) = 0;
34 };
35 
36 #endif
IHepMCWeightSvc
IService to read/write HepMC's WeightContainer key names from/to IOVMetaDataContainers author: will b...
Definition: IHepMCWeightSvc.h:18
IHepMCWeightSvc::WeightMap
std::map< std::string, std::size_t > WeightMap
Definition: IHepMCWeightSvc.h:22
IHepMCWeightSvc::setWeightNames
virtual StatusCode setWeightNames(const WeightMap &weightNames, const EventContext &ctx=Gaudi::Hive::currentContext())=0
If no weight names have been set yet, record them to metadata.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IHepMCWeightSvc::weightNames
virtual WeightMap weightNames(const EventContext &ctx=Gaudi::Hive::currentContext())=0
Return the current weight names.
IHepMCWeightSvc::DeclareInterfaceID
DeclareInterfaceID(IHepMCWeightSvc, 1, 0)
IHepMCWeightSvc::weightNameVec
virtual std::vector< std::string > weightNameVec(const EventContext &ctx=Gaudi::Hive::currentContext())=0
Return the current weight names.