|
| G4eeToHadronsModel (G4Vee2hadrons *, G4int ver=0, const G4String &nam="eeToHadrons") |
|
virtual | ~G4eeToHadronsModel () |
|
virtual void | Initialise (const G4ParticleDefinition *, const G4DataVector &) |
|
virtual G4double | CrossSectionPerVolume (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy) |
|
virtual G4double | ComputeCrossSectionPerAtom (const G4ParticleDefinition *, G4double kineticEnergy, G4double Z, G4double A, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) |
|
virtual G4double | ComputeCrossSectionPerElectron (const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) |
|
virtual void | SampleSecondaries (std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin=0.0, G4double maxEnergy=DBL_MAX) |
|
G4DynamicParticle * | GenerateCMPhoton (G4double) |
|
G4double | PeakEnergy () const |
|
| G4VEmModel (const G4String &nam) |
|
virtual | ~G4VEmModel () |
|
virtual void | InitialiseLocal (const G4ParticleDefinition *, G4VEmModel *masterModel) |
|
virtual void | InitialiseForMaterial (const G4ParticleDefinition *, const G4Material *) |
|
virtual void | InitialiseForElement (const G4ParticleDefinition *, G4int Z) |
|
virtual G4double | ComputeDEDXPerVolume (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=DBL_MAX) |
|
virtual G4double | ChargeSquareRatio (const G4Track &) |
|
virtual G4double | GetChargeSquareRatio (const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy) |
|
virtual G4double | GetParticleCharge (const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy) |
|
virtual void | StartTracking (G4Track *) |
|
virtual void | CorrectionsAlongStep (const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double &eloss, G4double &niel, G4double length) |
|
virtual G4double | Value (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy) |
|
virtual G4double | MinPrimaryEnergy (const G4Material *, const G4ParticleDefinition *, G4double cut=0.0) |
|
virtual G4double | MinEnergyCut (const G4ParticleDefinition *, const G4MaterialCutsCouple *) |
|
virtual void | SetupForMaterial (const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy) |
|
virtual void | DefineForRegion (const G4Region *) |
|
void | InitialiseElementSelectors (const G4ParticleDefinition *, const G4DataVector &) |
|
std::vector
< G4EmElementSelector * > * | GetElementSelectors () |
|
void | SetElementSelectors (std::vector< G4EmElementSelector * > *) |
|
G4double | ComputeDEDX (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=DBL_MAX) |
|
G4double | CrossSection (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) |
|
G4double | ComputeMeanFreePath (const G4ParticleDefinition *, G4double kineticEnergy, const G4Material *, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) |
|
G4double | ComputeCrossSectionPerAtom (const G4ParticleDefinition *, const G4Element *, G4double kinEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) |
|
G4int | SelectIsotopeNumber (const G4Element *) |
|
const G4Element * | SelectRandomAtom (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) |
|
const G4Element * | SelectRandomAtom (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) |
|
G4int | SelectRandomAtomNumber (const G4Material *) |
|
void | SetParticleChange (G4VParticleChange *, G4VEmFluctuationModel *f=0) |
|
void | SetCrossSectionTable (G4PhysicsTable *, G4bool isLocal) |
|
G4ElementData * | GetElementData () |
|
G4PhysicsTable * | GetCrossSectionTable () |
|
G4VEmFluctuationModel * | GetModelOfFluctuations () |
|
G4VEmAngularDistribution * | GetAngularDistribution () |
|
void | SetAngularDistribution (G4VEmAngularDistribution *) |
|
G4double | HighEnergyLimit () const |
|
G4double | LowEnergyLimit () const |
|
G4double | HighEnergyActivationLimit () const |
|
G4double | LowEnergyActivationLimit () const |
|
G4double | PolarAngleLimit () const |
|
G4double | SecondaryThreshold () const |
|
G4bool | LPMFlag () const |
|
G4bool | DeexcitationFlag () const |
|
G4bool | ForceBuildTableFlag () const |
|
G4bool | UseAngularGeneratorFlag () const |
|
void | SetAngularGeneratorFlag (G4bool) |
|
void | SetHighEnergyLimit (G4double) |
|
void | SetLowEnergyLimit (G4double) |
|
void | SetActivationHighEnergyLimit (G4double) |
|
void | SetActivationLowEnergyLimit (G4double) |
|
G4bool | IsActive (G4double kinEnergy) |
|
void | SetPolarAngleLimit (G4double) |
|
void | SetSecondaryThreshold (G4double) |
|
void | SetLPMFlag (G4bool val) |
|
void | SetDeexcitationFlag (G4bool val) |
|
void | SetForceBuildTable (G4bool val) |
|
void | SetMasterThread (G4bool val) |
|
G4bool | IsMaster () const |
|
G4double | MaxSecondaryKinEnergy (const G4DynamicParticle *dynParticle) |
|
const G4String & | GetName () const |
|
void | SetCurrentCouple (const G4MaterialCutsCouple *) |
|
const G4Element * | GetCurrentElement () const |
|
Definition at line 59 of file G4eeToHadronsModel.hh.
Implements G4VEmModel.
Definition at line 98 of file G4eeToHadronsModel.cc.
References test::b, python.hepunit::electron_mass_c2, G4cout, G4endl, G4PhysicsVector::GetLowEdgeEnergy(), G4PhysicsVector::GetValue(), G4PhysicsVector::GetVectorLength(), python.hepunit::GeV, G4VEmModel::HighEnergyLimit(), G4VEmModel::LowEnergyLimit(), python.hepunit::MeV, G4INCL::Math::min(), python.hepunit::nanobarn, G4PhysicsVector::PutValue(), G4VEmModel::SetHighEnergyLimit(), and G4VEmModel::SetLowEnergyLimit().
101 if(isInitialised) {
return; }
102 isInitialised =
true;
109 emin =
model->LowEnergy();
110 emax =
model->HighEnergy();
120 model->SetLowEnergy(emin0);
141 G4cout <<
"LabSystem: emin(GeV)= " << lowKinEnergy/
GeV
142 <<
" epeak(GeV)= " << peakKinEnergy/
GeV
143 <<
" emax(GeV)= " << highKinEnergy/
GeV
145 G4cout <<
"SM System: emin(MeV)= " << emin/
MeV
146 <<
" epeak(MeV)= " << epeak/
MeV
147 <<
" emax(MeV)= " << emax/
MeV
151 if(lowKinEnergy < peakKinEnergy) {
152 crossBornPerElectron =
model->PhysicsVector(emin, emax);
153 crossPerElectron =
model->PhysicsVector(emin, emax);
155 for(
G4int i=0; i<nbins; i++) {
158 crossBornPerElectron->
PutValue(i, cs);
160 ComputeCMCrossSectionPerElectron();
163 G4cout <<
"G4eeToHadronsModel: Cross secsions per electron"
164 <<
" nbins= " << nbins
165 <<
" emin(MeV)= " << emin/
MeV
166 <<
" emax(MeV)= " << emax/
MeV
169 for(
G4int i=0; i<nbins; i++) {
175 <<
" crossBorn(nb)= " << s2/
nanobarn
G4double LowEnergyLimit() const
G4double GetValue(G4double theEnergy, G4bool &isOutRange) const
G4double HighEnergyLimit() const
size_t GetVectorLength() const
G4double GetLowEdgeEnergy(size_t binNumber) const
void SetHighEnergyLimit(G4double)
G4GLOB_DLL std::ostream G4cout
void PutValue(size_t index, G4double theValue)
const XML_Char XML_Content * model
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
void SetLowEnergyLimit(G4double)