40 #ifndef EGS_ADVANCED_APPLICATION_
41 #define EGS_ADVANCED_APPLICATION_
98 virtual void finishRun();
167 virtual void saveRNGState();
170 virtual void resetRNGState();
195 void setRayleighData(
const vector<string> &str_medium,
196 const vector<string> &str_file);
205 void setEIIData(EGS_I32 len);
210 EGS_Float getMediumRho(
int ind);
212 void setEdep(EGS_Float edep);
219 void setLatch(
int latch);
224 EGS_Float getTVSTEP();
226 void setLatch(
const int &ip,
const int &latch);
227 void incLatch(
const int &ip,
const int &increment);
239 void setRadiativeSplitting(
const EGS_Float &nsplit);
241 void setRussianRoulette(
const EGS_Float &iSwitchRR);
242 void splitTopParticleIsotropically(
const EGS_Float &fsplit);
308 int helpInit(
EGS_Input *,
bool do_hatch);
Base class for advanced EGSnrc applications based on the mortran EGSnrc back-end.
int io_flag
determines how to write info
EGS_Interpolator * i_gbr2
photon branching 2 interpolator
EGS_Interpolator * i_esig
electron cross section interpolator
EGS_Float * rng_buffer
RNG buffer.
EGS_Interpolator * i_pbr1
positron branching 1 interpolator
int i_rng_buffer
Pointer to the RNG buffer.
static string base_revision
Holds the CVS revision number of the egs_advanced_application.cpp file.
EGS_Interpolator * i_psig
positron cross section interpolator
EGS_Interpolator * i_ededx
electron stopping power interpolator
bool final_job
Is this the final job of a parallel run ?
EGS_Interpolator * i_gmfp
photon mean-free-path interpolator
EGS_Interpolator * i_cohe
photon Rayleigh interpolator
EGS_Interpolator * i_ebr1
electron branching interpolator
EGS_Interpolator * i_photonuc
photonuclear interpolator
EGS_Interpolator * i_pdedx
positron stopping power interpolator
EGS_Interpolator * i_pbr2
positron branching 2 interpolator
int n_rng_buffer
Size of the RNG buffer.
EGS_Interpolator * i_gbr1
photon branching 1 interpolator
Base class for advanced EGSnrc C++ applications.
virtual EGS_I64 randomNumbersUsed() const
Returns the number of random numbers used.
virtual void resetCounter()
Reset the application to a 'pristine' state.
virtual void setAusgabCall(AusgabCall call, bool on_or_off)
Turns on or off a call to the user scoring function ausgab.
virtual void describeSimulation()
Describe the simulation.
virtual int addState(istream &data)
Add data from a parallel job.
virtual int finishSimulation()
Analyze and output the results.
virtual void startNewParticle()
Start the transport of a new particle.
virtual void appFatal(const char *)
Write a warning message and exit.
virtual int outputData()
Output intermediate results.
virtual void getElectronSteps(double &ch_steps, double &all_steps) const
Get the number of electron steps taken.
AusgabCall
Possible calls to the user scoring function ausgab().
virtual int initCrossSections()
Initialize the EGSnrc cross sections and cross section/transport options.
virtual void appInformation(const char *)
Write an information message.
virtual void enterNewRegion()
Particle enters new region.
virtual void appWarning(const char *)
Write a warning message.
virtual int initEGSnrcBackEnd()
Initialize the EGSnrc backend.
virtual int shower()
Simulate a single shower.
virtual int readData()
Read intermediate results.
A class for fast run-time interpolations.
EGS_Application class header file.
Defines the EGS_EXPORT and EGS_LOCAL macros.