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

Generates primary particles for WavePID simulation. More...

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

Detailed Description

Supports two modes:

  1. Impact parameter mode: Uses G4ParticleGun with position calculated to ensure Cherenkov cone hits DOM at origin.
  2. Macro mode: Uses G4GeneralParticleSource controlled via macro commands.

Public Member Functions

void GeneratePrimaries (G4Event *anEvent) override
 
void GeneratePrimaries (G4Event *anEvent) override
 
void GeneratePrimaries (G4Event *anEvent)
 
virtual void GeneratePrimaries (G4Event *)
 
G4ParticleGun * GetParticleGun ()
 
void SelectAction (G4int i)
 
G4int GetSelectedAction ()
 
OMSimIBDGetAction0 ()
 
OMSimENESGetAction1 ()
 
void GeneratePrimaries (G4Event *anEvent) override
 

Private Member Functions

void setupParticleGun ()
 

Private Attributes

G4GeneralParticleSource * m_particleSource
 
G4ParticleGun * m_particleGun
 
OMSimIBDm_action0
 
OMSimENESm_action1
 
G4int m_selectedAction
 
OMSimPrimaryGeneratorMessengerm_gunMessenger
 
bool m_useParticleGun
 True if using impact parameter mode.
 
G4ThreeVector m_position
 
G4ThreeVector m_direction
 

Static Private Attributes

static thread_local std::unique_ptr< G4GeneralParticleSource > m_particleSource
 
static G4Mutex m_mutex
 
static thread_local std::unique_ptr< G4ParticleGun > m_particleGun
 

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