1 #ifndef WCSimPrimaryGeneratorAction_h
2 #define WCSimPrimaryGeneratorAction_h
4 #include "G4VUserPrimaryGeneratorAction.hh"
5 #include "G4ThreeVector.hh"
17 class G4GeneralParticleSource;
150 G4cout <<
"Vector file " <<
vectorFileName <<
" not found" << G4endl;
190 if(choice ==
"ns" || choice==
"nanosecond")
192 else if(choice ==
"s" || choice==
"second")
194 else if (choice =
"ms" || choice==
"millisecond")
196 else if (choice=
"microsecond")
198 else if(choice=
"ps" || choice==
"picosecond")
G4bool GenerateVertexInRock
G4int targetpdgs[MAX_N_PRIMARIES]
G4ParticleGun * particleGun
G4int vtxsvol[MAX_N_VERTICES]
WCSimGenerator_Radioactivity * myRn222Generator
G4double vertexTimes[MAX_N_VERTICES]
static const int MAX_N_PRIMARIES
G4double GetTargetEnergy(G4int n=0)
void SetGPSEvtGenerator(G4bool choice)
WCSimPrimaryGeneratorMessenger * messenger
void SetRadioactiveEvtGenerator(G4bool choice)
void SetTimeUnit(G4String choice)
void SetBeamDir(G4ThreeVector i, G4int n=0)
void SetMulineEvtGenerator(G4bool choice)
G4bool IsUsingMulineEvtGenerator()
void SetRadonSymmetry(G4int choice)
void SetBeamPDG(G4int i, G4int n=0)
G4bool IsUsingGunEvtGenerator()
~WCSimPrimaryGeneratorAction()
WCSimDetectorConstruction * myDetector
std::vector< struct radioactive_source > Radioactive_Sources()
G4double GetBeamEnergy(G4int n=0)
G4ThreeVector GetVtx(G4int n=0)
G4int GetVtxVol(G4int n=0)
G4int beampdgs[MAX_N_PRIMARIES]
G4bool IsGeneratingVertexInRock()
std::vector< struct radioactive_source > radioactive_sources
void SetBeamEnergy(G4double i, G4int n=0)
G4bool IsUsingLaserEvtGenerator()
G4ThreeVector vtxs[MAX_N_VERTICES]
void SetRadonEvtGenerator(G4bool choice)
void SetVtx(G4ThreeVector i)
void SetGenerateVertexInRock(G4bool choice)
void OpenVectorFile(G4String fileName)
void SetVtxs(G4int i, G4ThreeVector v)
void SetGunEvtGenerator(G4bool choice)
G4int GetTargetPDG(G4int n=0)
G4ThreeVector beamdirs[MAX_N_PRIMARIES]
G4double targetenergies[MAX_N_PRIMARIES]
G4bool IsUsingGPSEvtGenerator()
G4bool IsUsingRadonEvtGenerator()
G4ThreeVector GetTargetDir(G4int n=0)
G4String GetGeneratorTypeString()
void AddRadioactiveSource(G4String IsotopeName, G4String IsotopeLocation, G4double IsotopeActivity)
G4double radioactive_time_window
G4GeneralParticleSource * MyGPS
void SetRadonScenario(G4int choice)
G4double GetVertexTime(G4int n=0)
void SaveOptionsToOutput(WCSimRootOptions *wcopt)
G4bool IsUsingRadioactiveEvtGenerator()
WCSimPrimaryGeneratorAction(WCSimDetectorConstruction *)
G4int GetBeamPDG(G4int n=0)
void GeneratePrimaries(G4Event *anEvent)
G4double beamenergies[MAX_N_PRIMARIES]
G4double GetRadioactiveTimeWindow()
G4int mode[MAX_N_VERTICES]
G4ThreeVector GetBeamDir(G4int n=0)
static const int MAX_N_VERTICES
G4int GetMode(int vertex)
void SetRadioactiveTimeWindow(G4double choice)
void SetLaserEvtGenerator(G4bool choice)
G4ThreeVector targetdirs[MAX_N_PRIMARIES]