5#ifndef BARCODESERVICES_LEGACYBARCODESVC_H
6#define BARCODESERVICES_LEGACYBARCODESVC_H 1
12#include "GaudiKernel/ServiceHandle.h"
18#include "tbb/concurrent_unordered_map.h"
45 virtual StatusCode
initializeBarcodes(
int largestGeneratedParticleBC=0,
int largestGeneratedVertexBC=0)
override;
48 virtual StatusCode
resetBarcodes(
int largestGeneratedParticleBC=0,
int largestGeneratedVertexBC=0)
override;
97 < std::thread::id,
BarcodeInfo, std::hash<std::thread::id> >;
BarcodeInfo & getBarcodeInfo()
virtual void registerLargestGeneratedParticleBC(int bc) override
Inform the BarcodeSvc about the largest particle and vertex Barcodes in the event input.
virtual int secondaryParticleBcOffset() const override
Return the secondary particle and vertex offsets.
virtual StatusCode initialize() override
Athena algorithm's interface methods.
int m_firstVertex
barcode information used for GenVertices
virtual void registerLargestGeneratedVtxBC(int bc) override
virtual int newGeneratedVertex() override
Generate a new unique vertex barcode below the simulation offset.
tbb::concurrent_unordered_map< std::thread::id, BarcodeInfo, std::hash< std::thread::id > > LegacyBarcodeSvcThreadMap_t
virtual StatusCode resetBarcodes(int largestGeneratedParticleBC=0, int largestGeneratedVertexBC=0) override
Reset barcodes.
LegacyBarcodeSvc(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters.
virtual int newSecondaryParticle(int) override
Generate a new unique barcode for a secondary particle above the simulation offset.
virtual StatusCode initializeBarcodes(int largestGeneratedParticleBC=0, int largestGeneratedVertexBC=0) override
Construct and insert a new set of barcode members.
virtual int secondaryVertexBcOffset() const override
Return the secondary vertex offset.
virtual void registerLargestSimulationVtxBC(int bc) override
virtual ~LegacyBarcodeSvc()=default
Destructor.
int m_firstSecondary
barcode information used for secondary GenParticles
virtual void registerLargestSecondaryParticleBC(int bc) override
virtual int newSimulationVertex() override
Generate a new unique vertex barcode above the simulation offset.
LegacyBarcodeSvcThreadMap_t m_bcThreadMap
virtual int newGeneratedParticle(int) override
Generate a new unique particle barcode below the simulation offset (for particles from pre-defined de...
int currentGeneratedVertex
int currentSimulationVertex
int currentSecondaryParticle
int currentGeneratedParticle
BarcodeInfo(int csv, int csp, int cgv, int cgp)