7.7.2011 - Kamil Sedlak
Impementation of "/musr/command process SetLossFluctuations_OFF ..." command (allows one to swith the statistical fluctuations in the ionisation losses).
This commit is contained in:
parent
99f7935da9
commit
0de813e1f3
BIN
doc/musrSim.pdf
BIN
doc/musrSim.pdf
Binary file not shown.
@ -566,6 +566,11 @@ care.
|
||||
See the file musrPhysicsList.cc for the list of defined processes (e.g. G4eMultipleScattering,
|
||||
G4eIonisation, ...) and Geant4 manual for the detail description of the processes.
|
||||
|
||||
\item{\bf /musr/command process SetLossFluctuations\_OFF \emph{particle} \emph{process}}\\
|
||||
Switches off the statistical fluctuations in the ionisation losses. Can be usefull
|
||||
for some technical studies. Presently works only for \emph{G4eIonisation} and
|
||||
for \emph{G4MuIonisation}.
|
||||
|
||||
% There is one special process, combined from G4MultipleScattering and G4CoulombScattering,
|
||||
% defined by the following command:\\
|
||||
%{\bf /musr/command process addProcess \emph{particle} MultipleAndCoulombScattering \emph{ordAtRestDoIt} \emph{ordAlongSteptDoIt} \emph{ordPostStepDoIt} \emph{G4Region1} [\emph{G4Region2}] [\emph{G4Region3}]}\\
|
||||
|
@ -296,7 +296,8 @@ void musrPhysicsList::ConstructEM()
|
||||
if (strcmp(tmpString1,"process")!=0) continue;
|
||||
|
||||
float tmpCutValue;
|
||||
if ((strcmp(tmpString2,"addProcess")==0)||(strcmp(tmpString2,"addDiscreteProcess")==0)||(strcmp(tmpString2,"addModel")==0)) {
|
||||
if ((strcmp(tmpString2,"addProcess")==0)||(strcmp(tmpString2,"addDiscreteProcess")==0)||
|
||||
(strcmp(tmpString2,"addModel")==0)||(strcmp(tmpString2,"SetLossFluctuations_OFF")==0)) {
|
||||
char charParticleName[100], charProcessName[100];
|
||||
sscanf(&line[0],"%*s %*s %s %s %s",tmpString2,charParticleName,charProcessName);
|
||||
G4cout<<"musrPhysicsList: Defining process "<<charProcessName<<" for "<<charParticleName<<G4endl;
|
||||
@ -452,7 +453,27 @@ void musrPhysicsList::ConstructEM()
|
||||
|
||||
}
|
||||
|
||||
else if (strcmp(tmpString2,"SetLossFluctuations_OFF")==0) {
|
||||
G4ProcessTable* processTable = G4ProcessTable::GetProcessTable();
|
||||
if (strcmp(charProcessName,"G4eIonisation")==0) {
|
||||
G4cout<<"musrPhysicsList.cc: Switching off loss fluctuations for "<<charParticleName<<" in "<<charProcessName<<G4endl;
|
||||
G4eIonisation* mmm = (G4eIonisation*) processTable->FindProcess("eIoni",particleDefinition);
|
||||
mmm->SetLossFluctuations(false);
|
||||
}
|
||||
else if (strcmp(charProcessName,"G4MuIonisation")==0) {
|
||||
G4cout<<"musrPhysicsList.cc: Switching off loss fluctuations for "<<charParticleName<<" in "<<charProcessName<<G4endl;
|
||||
G4MuIonisation* mmm = (G4MuIonisation*) processTable->FindProcess("muIoni",particleDefinition);
|
||||
mmm->SetLossFluctuations(false);
|
||||
}
|
||||
else {
|
||||
G4cout<<"musrPhysicsList.cc: Switching off loss fluctuations for "
|
||||
<<charParticleName<<" in "<<charProcessName<<" NOT SUPPORTED YET"<<G4endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
else if (strcmp(tmpString2,"cutForGamma")==0) {
|
||||
sscanf(&line[0],"%*s %*s %*s %g",&tmpCutValue);
|
||||
|
Loading…
x
Reference in New Issue
Block a user