← Back to team overview

simhadteam team mailing list archive

[Branch ~simhadteam/simulationshadrontherapie/G4LPC] Rev 13: Ajout de la gestion du "%" dans la methode

 

------------------------------------------------------------
revno: 13
committer: Daniel Cussol <cussol@xxxxxxxx>
branch nick: G4LPC
timestamp: Wed 2012-04-11 15:18:43 +0200
message:
  Ajout de la gestion du "%" dans la methode
  "GaussianEnergyDistribution::SetFromString()"
modified:
  include/G4LPCPhysicsList.hh
  src/GaussianEnergyDistribution.cc


--
lp:simulationshadrontherapie/g4lpc
https://code.launchpad.net/~simhadteam/simulationshadrontherapie/G4LPC

Your team Simulateurs pour la Hadronthérapie is subscribed to branch lp:simulationshadrontherapie/g4lpc.
To unsubscribe from this branch go to https://code.launchpad.net/~simhadteam/simulationshadrontherapie/G4LPC/+edit-subscription
=== modified file 'include/G4LPCPhysicsList.hh'
--- include/G4LPCPhysicsList.hh	2009-12-07 12:31:26 +0000
+++ include/G4LPCPhysicsList.hh	2012-04-11 13:18:43 +0000
@@ -76,7 +76,6 @@
     
     virtual void UseBertiniCascade(void) {bertini=true;}
     virtual void UseG4Cascade(void) {bertini=false;}
-
     virtual G4bool IsUsingBertiniCascade(void) {return bertini;}
     
     virtual void ApplyNewCuts(void) {this->SetCuts();}

=== modified file 'src/GaussianEnergyDistribution.cc'
--- src/GaussianEnergyDistribution.cc	2009-10-22 15:45:46 +0000
+++ src/GaussianEnergyDistribution.cc	2012-04-11 13:18:43 +0000
@@ -55,6 +55,7 @@
  while((os=(TObjString *)next()))
   {
   TString s=os->GetString();
+  cout << s.Data() << endl;
   if(s.BeginsWith("Mean="))
    {
    s.ReplaceAll("Mean=","");
@@ -63,7 +64,15 @@
   else if(s.BeginsWith("Width="))
    {
    s.ReplaceAll("Width=","");
-   SetWidth(s.Atof()*MeV);
+   if(s.Contains("%"))
+    {
+    s.ReplaceAll("%","");
+    SetWidth(s.Atof()/100.*GetMeanEnergy());
+    }
+   else
+    {
+    SetWidth(s.Atof()*MeV);
+    }
    }
   else
    {
@@ -73,4 +82,6 @@
   }
  loa->SetOwner(kTRUE);
  delete loa;
+ cout << "Gaussian Energy Distribution : Mean = " << energy/MeV << " MeV, Width = " << width/MeV << " MeV" <<
+ endl;
 }