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}
21class G4Track;
22
23namespace iGeant4 {
24
26
27 public:
28 ISFG4Helper() = delete;
29
31 static ISF::ISFParticle* convertG4TrackToISFParticle(const G4Track& aTrack,
32 const ISF::ISFParticle& parent,
33 ISF::TruthBinding* truth = nullptr);
34
36 static VTrackInformation* getISFTrackInfo(const G4Track& aTrack);
37
39 static void setG4TrackInfoFromBaseISFParticle( G4Track& aTrack,
40 const ISF::ISFParticle& baseIsp,
41 bool setReturnToISF=false );
42
45 static TrackInformation* attachTrackInfoToNewG4Track( G4Track& aTrack,
46 ISF::ISFParticle& baseIsp,
48 HepMC::GenParticlePtr generationZeroGenParticle = nullptr);
49
52
53 private:
54
55};
56}
57
58#endif // ISF_GEANT4TOOLS_ISFG4HELPER_H
This class is attached to G4Event objects as UserInformation.
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 AtlasG4EventUserInfo * getAtlasG4EventUserInfo()
return pointer to current AtlasG4EventUserInfo
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...
GenParticle * GenParticlePtr
Definition GenParticle.h:37
ISFParticleOrderedQueue.