Loading...
Searching...
No Matches
F01RunAction.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26#ifndef F01RunAction_h
27#define F01RunAction_h
28
29#include "G4UserRunAction.hh"
30
31#include "CLHEP/Units/SystemOfUnits.h"
32
36
37class G4Run;
38
39class F01RunAction: public G4UserRunAction {
40
41public:
42
43 F01RunAction() = default;
44 ~F01RunAction() override = default;
45
46 void BeginOfRunAction( const G4Run* aRun ) override;
47 void EndOfRunAction( const G4Run* aRun ) override;
48
49 // Helper method to change the Transportation's 'looper' parameters
50 void ChangeLooperParameters(const G4ParticleDefinition* particleDef );
51
52 // Helper method to find the Transportation process for a particle type
54 FindTransportation( const G4ParticleDefinition * particleDef,
55 bool reportError= true );
56
57public:
58 void SetNumberOfTrials( G4int val ) { fNumberOfTrials = val; }
59 void SetWarningEnergy( G4double val ) { fWarningEnergy = val; }
60 void SetImportantEnergy( G4double val ) { fImportantEnergy = val; }
62 G4double GetWarningEnergy() { return fWarningEnergy; }
63 G4double GetImportantEnergy() { return fImportantEnergy; }
64
65private:
66
67 // Values for initialising 'loopers' parameters of Transport process
68 G4int fNumberOfTrials = 15; // Arbitrary
69 G4double fWarningEnergy = 1.0 * CLHEP::kiloelectronvolt; // Arbitrary
70 G4double fImportantEnergy = 10.0 * CLHEP::kiloelectronvolt; // Arbitrary
71 // Applications should determine these thresholds according to
72 // - physics requirements, and
73 // - the computing cost of continuing integration for looping tracks
74
75 G4int fVerboseLevel = 0;
76};
77
78#endif
~F01RunAction() override=default
void SetWarningEnergy(G4double val)
G4int GetNumberOfTrials()
G4int fNumberOfTrials
G4double GetWarningEnergy()
F01RunAction()=default
void SetNumberOfTrials(G4int val)
G4double fImportantEnergy
G4int fVerboseLevel
void BeginOfRunAction(const G4Run *aRun) override
void ChangeLooperParameters(const G4ParticleDefinition *particleDef)
void SetImportantEnergy(G4double val)
G4Transportation * FindTransportation(const G4ParticleDefinition *particleDef, bool reportError=true)
void EndOfRunAction(const G4Run *aRun) override
G4double GetImportantEnergy()
G4double fWarningEnergy

Applications | User Support | Publications | Collaboration