OMSim
Geant4 for IceCube optical module studies
Loading...
Searching...
No Matches
wavepid/include/OMSimPrimaryGeneratorAction.hh
Go to the documentation of this file.
1
5#pragma once
6
7#include <G4VUserPrimaryGeneratorAction.hh>
8#include <G4AutoLock.hh>
9#include <G4ThreeVector.hh>
10#include <memory>
11
12class G4ParticleGun;
13class G4GeneralParticleSource;
14class G4Event;
15
25class OMSimPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
26{
27public:
30
31 void GeneratePrimaries(G4Event* anEvent) override;
32
33private:
34 void setupParticleGun();
35
36 static thread_local std::unique_ptr<G4ParticleGun> m_particleGun;
37 static thread_local std::unique_ptr<G4GeneralParticleSource> m_particleSource;
38 static G4Mutex m_mutex;
39
41 G4ThreeVector m_position;
42 G4ThreeVector m_direction;
43};
Generates primary particles for WavePID simulation.
Definition effective_area/include/OMSimPrimaryGeneratorAction.hh:8
bool m_useParticleGun
True if using impact parameter mode.
Definition wavepid/include/OMSimPrimaryGeneratorAction.hh:40