OMSim
Geant4 for IceCube optical module studies
Loading...
Searching...
No Matches
OMSimTrackingAction Class Reference

Tracks particle information for photon origin classification. More...

Inheritance diagram for OMSimTrackingAction:
[legend]
Collaboration diagram for OMSimTrackingAction:
[legend]

Detailed Description

This singleton class stores track ID to particle type and creator process mappings, which are used by OMSimSensitiveDetector to classify photon origins.

Public Member Functions

void PreUserTrackingAction (const G4Track *)
 
void PostUserTrackingAction (const G4Track *)
 
virtual void PreUserTrackingAction (const G4Track *track) override
 
virtual void PostUserTrackingAction (const G4Track *track) override
 
std::string GetParticleType (G4int trackID) const
 Get the particle type for a given track ID.
 
std::string GetCreatorProcess (G4int trackID) const
 Get the creator process for a given track ID.
 

Static Public Member Functions

static OMSimTrackingActionGetInstance ()
 Access the singleton instance.
 
static bool HasInstance ()
 Check if the singleton instance exists.
 

Private Attributes

std::unordered_map< G4int, std::string > m_trackIDToParticleTypeMap
 
std::unordered_map< G4int, std::string > m_trackIDToCreatorProcessMap
 

Static Private Attributes

static thread_local OMSimTrackingActioninstance = nullptr
 Thread-local instance pointer.
 

Member Function Documentation

◆ GetCreatorProcess()

std::string OMSimTrackingAction::GetCreatorProcess ( G4int  trackID) const
Parameters
trackIDThe track ID to look up.
Returns
The process name (e.g., "muIoni", "Cerenkov") or "Unknown" if not found.

◆ GetInstance()

OMSimTrackingAction & OMSimTrackingAction::GetInstance ( )
static
Returns
Reference to the singleton instance.
Exceptions
std::runtime_errorif instance not yet created.

◆ GetParticleType()

std::string OMSimTrackingAction::GetParticleType ( G4int  trackID) const
Parameters
trackIDThe track ID to look up.
Returns
The particle name (e.g., "mu-", "e-") or "Unknown" if not found.

◆ HasInstance()

static bool OMSimTrackingAction::HasInstance ( )
inlinestatic
Returns
true if instance exists, false otherwise.

The documentation for this class was generated from the following files: