ATLAS Offline Software
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
15 namespace ISF {
16  class TruthBinding;
17  class ISFParticle;
18 }
19 class TrackInformation;
21 class G4Track;
22 
23 namespace iGeant4 {
24 
25 class ISFG4Helper {
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
AtlasG4EventUserInfo
This class is attached to G4Event objects as UserInformation. It holds a pointer to the HepMC::GenEve...
Definition: AtlasG4EventUserInfo.h:21
iGeant4::ISFG4Helper::attachTrackInfoToNewG4Track
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...
Definition: ISFG4Helper.cxx:78
ISF::TruthBinding
Definition: TruthBinding.h:18
HepMC::GenParticlePtr
GenParticle * GenParticlePtr
Definition: GenParticle.h:37
ISF::ISFParticle
Definition: ISFParticle.h:42
GenParticle_fwd.h
iGeant4::ISFG4Helper
Definition: ISFG4Helper.h:25
iGeant4::ISFG4Helper::ISFG4Helper
ISFG4Helper()=delete
iGeant4::ISFG4Helper::getAtlasG4EventUserInfo
static AtlasG4EventUserInfo * getAtlasG4EventUserInfo()
return pointer to current AtlasG4EventUserInfo
Definition: ISFG4Helper.cxx:114
iGeant4::ISFG4Helper::setG4TrackInfoFromBaseISFParticle
static void setG4TrackInfoFromBaseISFParticle(G4Track &aTrack, const ISF::ISFParticle &baseIsp, bool setReturnToISF=false)
link the given G4Track to the given ISFParticle
test_pyathena.parent
parent
Definition: test_pyathena.py:15
iGeant4::ISFG4Helper::convertG4TrackToISFParticle
static ISF::ISFParticle * convertG4TrackToISFParticle(const G4Track &aTrack, const ISF::ISFParticle &parent, ISF::TruthBinding *truth=nullptr)
convert the given G4Track into an ISFParticle
Definition: ISFG4Helper.cxx:31
TrackInformation
Implementation of VTrackInformation. Instances of this class are attached as UserInformation to G4Tra...
Definition: TrackInformation.h:41
VTrackInformation.h
ISF
ISFParticleOrderedQueue.
Definition: PrimaryParticleInformation.h:13
VTrackInformation::TrackClassification
TrackClassification
Definition: VTrackInformation.h:32
iGeant4::ISFG4Helper::getISFTrackInfo
static VTrackInformation * getISFTrackInfo(const G4Track &aTrack)
return a valid UserInformation object of the G4Track for use within the ISF
Definition: ISFG4Helper.cxx:69
VTrackInformation
Instances of classes derived from this class are attached as UserInformation to G4Tracks....
Definition: VTrackInformation.h:30
iGeant4
Definition: Geant4TruthIncident.h:35