ATLAS Offline Software
Loading...
Searching...
No Matches
ISFG4Helper.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 ISF_GEANT4TOOLS_ISFG4HELPER_H
6#define ISF_GEANT4TOOLS_ISFG4HELPER_H
7
8// ISF Includes
9
10// MCTruth includes
11#include "MCTruth/VTrackInformation.h" //use enum
12
13// forward declarations
15namespace ISF {
16 class TruthBinding;
17 class ISFParticle;
18}
20class G4Track;
21
22namespace iGeant4 {
23
25
26 public:
27 ISFG4Helper() = delete;
28
30 static ISF::ISFParticle* convertG4TrackToISFParticle(const G4Track& aTrack,
31 const ISF::ISFParticle& parent,
32 ISF::TruthBinding* truth = nullptr);
33
35 static VTrackInformation* getISFTrackInfo(const G4Track& aTrack);
36
38 static void setG4TrackInfoFromBaseISFParticle( G4Track& aTrack,
39 const ISF::ISFParticle& baseIsp,
40 bool setReturnToISF=false );
41
44 static TrackInformation* attachTrackInfoToNewG4Track( G4Track& aTrack,
45 ISF::ISFParticle& baseIsp,
47 HepMC::GenParticlePtr generationZeroGenParticle = nullptr);
48
49 private:
50
51};
52}
53
54#endif // ISF_GEANT4TOOLS_ISFG4HELPER_H
The generic ISF particle definition,.
Definition ISFParticle.h:42
Implementation of VTrackInformation.
Instances of classes derived from this class are attached as UserInformation to G4Tracks.
static VTrackInformation * getISFTrackInfo(const G4Track &aTrack)
return a valid UserInformation object of the G4Track for use within the ISF
static ISF::ISFParticle * convertG4TrackToISFParticle(const G4Track &aTrack, const ISF::ISFParticle &parent, ISF::TruthBinding *truth=nullptr)
convert the given G4Track into an ISFParticle
static void setG4TrackInfoFromBaseISFParticle(G4Track &aTrack, const ISF::ISFParticle &baseIsp, bool setReturnToISF=false)
link the given G4Track to the given ISFParticle
static TrackInformation * attachTrackInfoToNewG4Track(G4Track &aTrack, ISF::ISFParticle &baseIsp, VTrackInformation::TrackClassification classification, HepMC::GenParticlePtr generationZeroGenParticle=nullptr)
attach a new TrackInformation object to the given new (!) G4Track (the G4Track must not have a UserIn...
HepMC3::GenParticlePtr GenParticlePtr
Definition GenParticle.h:19
ISFParticleOrderedQueue.