Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4EmProcessOptions.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// $Id$
27//
28//
29// -------------------------------------------------------------------
30//
31// GEANT4 Class header file
32//
33//
34// File name: G4EmProcessOptions
35//
36// Author: Vladimir Ivanchenko
37//
38// Creation date: 27.02.2004
39//
40// Modifications:
41// 10-01-06 PreciseRange -> CSDARange (V.Ivantchenko)
42// 22-05-06 Add SetBremsstrahlungTh (V.Ivanchenko)
43// 12-02-07 Add SetSkin, SetLinearLossLimit (V.Ivanchenko)
44//
45//
46// Class Description:
47//
48// Provide options for EM processes
49
50// -------------------------------------------------------------------
51//
52
53#ifndef G4EmProcessOptions_h
54#define G4EmProcessOptions_h 1
55
56#include <vector>
57#include "globals.hh"
58#include "G4MscStepLimitType.hh"
59
61class G4Region;
62
64{
65
66public:
67
69
71
73
74 void SetSubCutoff(G4bool val, const G4Region* r=0);
75
76 void SetIntegral(G4bool val);
77
78 void SetMinSubRange(G4double val);
79
80 void SetMinEnergy(G4double val);
81
82 void SetMaxEnergy(G4double val);
83
85
87
88 void SetDEDXBinning(G4int val);
89
91
92 void SetLambdaBinning(G4int val);
93
95
96 void SetRandomStep(G4bool val);
97
98 void SetApplyCuts(G4bool val);
99
100 void SetBuildCSDARange(G4bool val);
101
102 void SetVerbose(G4int val, const G4String& name = "all");
103
104 void SetLambdaFactor(G4double val);
105
107
108 void SetDeexcitationActiveRegion(const G4String& rname = "",
109 G4bool valDeexcitation = true,
110 G4bool valAuger = true,
111 G4bool valPIXE = true);
112
113 void SetFluo(G4bool val);
114
115 void SetAuger(G4bool val);
116
117 void SetPIXE(G4bool val);
118
119 void SetPIXECrossSectionModel(const G4String& val);
120
122
124
126
127 void SetSkin(G4double val);
128
129 void SetMscRangeFactor(G4double val);
130
131 void SetMscGeomFactor(G4double val);
132
133 void SetLPMFlag(G4bool val);
134
135 void SetSplineFlag(G4bool val);
136
138
140
142
143 void SetProcessBiasingFactor(const G4String& name, G4double val,
144 G4bool flag = true);
145
146 void ActivateForcedInteraction(const G4String& name, G4double length=0.0,
147 const G4String& region="",
148 G4bool flag = true);
149
150 void ActivateSecondaryBiasing(const G4String& name, const G4String& region,
151 G4double factor, G4double energyLimit);
152
153 void ActivateSecondaryBiasingForGamma(const G4String& name, const G4String& region,
154 G4double factor, G4double energyLimit);
155
156private:
157
158 G4EmProcessOptions & operator=(const G4EmProcessOptions &right);
160
161 G4LossTableManager* theManager;
162
163};
164
165//....oooOO0OOooo.......oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
166
167#endif
G4MscStepLimitType
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
bool G4bool
Definition: G4Types.hh:67
void SetBuildCSDARange(G4bool val)
void ActivateForcedInteraction(const G4String &name, G4double length=0.0, const G4String &region="", G4bool flag=true)
void SetAuger(G4bool val)
void SetLinearLossLimit(G4double val)
void SetMaxEnergy(G4double val)
void SetMscRangeFactor(G4double val)
void SetDeexcitationActiveRegion(const G4String &rname="", G4bool valDeexcitation=true, G4bool valAuger=true, G4bool valPIXE=true)
void SetIntegral(G4bool val)
void SetDEDXBinning(G4int val)
void SetLambdaBinning(G4int val)
void SetPolarAngleLimit(G4double val)
void SetVerbose(G4int val, const G4String &name="all")
void SetPIXECrossSectionModel(const G4String &val)
void SetBremsstrahlungTh(G4double val)
void SetDEDXBinningForCSDARange(G4int val)
void SetMinSubRange(G4double val)
void SetSkin(G4double val)
void SetPIXEElectronCrossSectionModel(const G4String &val)
void SetLPMFlag(G4bool val)
void SetMscLateralDisplacement(G4bool val)
void ActivateSecondaryBiasing(const G4String &name, const G4String &region, G4double factor, G4double energyLimit)
void SetMaxEnergyForCSDARange(G4double val)
void SetMinEnergy(G4double val)
void SetSplineFlag(G4bool val)
void SetMscGeomFactor(G4double val)
void SetLossFluctuations(G4bool val)
void SetRandomStep(G4bool val)
void SetLambdaFactor(G4double val)
void SetPIXE(G4bool val)
void SetMscStepLimitation(G4MscStepLimitType val)
void SetMaxEnergyForMuons(G4double val)
void SetFactorForAngleLimit(G4double val)
void SetApplyCuts(G4bool val)
void SetSubCutoff(G4bool val, const G4Region *r=0)
void SetStepFunction(G4double v1, G4double v2)
void ActivateSecondaryBiasingForGamma(const G4String &name, const G4String &region, G4double factor, G4double energyLimit)
void SetFluo(G4bool val)
void SetProcessBiasingFactor(const G4String &name, G4double val, G4bool flag=true)