ATLAS Offline Software
Loading...
Searching...
No Matches
IBarcodeSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef BARCODEINTERFACES_IBARCODESVC_H
6#define BARCODEINTERFACES_IBARCODESVC_H 1
7
8// Barcode includes
10
11// Include Files
12#include "GaudiKernel/IInterface.h"
13#include "GaudiKernel/StatusCode.h"
14#include "GaudiKernel/ToolHandle.h"
15#include "GaudiKernel/ServiceHandle.h"
16
17namespace Barcode {
18
23 class IBarcodeSvc : virtual public IInterface {
24
25 public:
26
27 //TODO not fully implemented in Generic, Global, and Validation BarcodeSvcs
28 //only fully implemented in LegacyBarcodeSvc (only barcode service used in production)
29 virtual StatusCode initializeBarcodes(int, int) { return StatusCode::SUCCESS; };
30 virtual StatusCode resetBarcodes(int, int) { return StatusCode::SUCCESS; };
31
34
35
37 virtual int newSecondaryParticle(int parentBC) = 0;
38
40 virtual int newGeneratedParticle(int parentBC) = 0;
41
43 virtual int newSimulationVertex() = 0;
44
46 virtual int newGeneratedVertex() = 0;
47
50 virtual void registerLargestGeneratedParticleBC( int bc) = 0;
51 virtual void registerLargestGeneratedVtxBC( int bc) = 0;
52 virtual void registerLargestSecondaryParticleBC( int bc) = 0;
53 virtual void registerLargestSimulationVtxBC( int bc) = 0;
54
56 virtual int secondaryParticleBcOffset() const = 0;
57 virtual int secondaryVertexBcOffset() const = 0;
58 };
59
60}
61
62#endif //> !BARCODEINTERFACES_IBARCODESVC_H
virtual int newSimulationVertex()=0
Generate a new unique vertex barcode above the simulation offset.
DeclareInterfaceID(IBarcodeSvc, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual int newSecondaryParticle(int parentBC)=0
Generate a new unique barcode for a secondary particle above the simulation offset.
virtual int newGeneratedVertex()=0
Generate a new unique vertex barcode below the simulation offset.
virtual StatusCode resetBarcodes(int, int)
Definition IBarcodeSvc.h:30
virtual int newGeneratedParticle(int parentBC)=0
Generate a new unique particle barcode below the simulation offset (for particles from pre-defined de...
virtual int secondaryParticleBcOffset() const =0
Return the secondary particle and vertex offsets.
virtual void registerLargestGeneratedParticleBC(int bc)=0
Inform the BarcodeSvc about the largest particle and vertex Barcodes in the event input.
virtual void registerLargestGeneratedVtxBC(int bc)=0
virtual void registerLargestSimulationVtxBC(int bc)=0
virtual StatusCode initializeBarcodes(int, int)
Definition IBarcodeSvc.h:29
virtual int secondaryVertexBcOffset() const =0
virtual void registerLargestSecondaryParticleBC(int bc)=0