Ignore:
Timestamp:
Jan 8, 2010, 3:02:48 PM (14 years ago)
Author:
garnier
Message:

update to geant4.9.3

Location:
trunk/examples/extended/medical/fanoCavity
Files:
44 edited

Legend:

Unmodified
Added
Removed
  • trunk/examples/extended/medical/fanoCavity/GNUmakefile

    r807 r1230  
    1 # $Id: GNUmakefile,v 1.1 2007/01/19 17:20:26 maire Exp $
     1# $Id: GNUmakefile,v 1.2 2008/06/11 15:25:38 vnivanch Exp $
    22# --------------------------------------------------------------
    33# GNUmakefile for examples module.  Gabriele Cosmo, 06/04/98.
     
    1717#### G4ANALYSIS_USE := true
    1818
    19 ifdef G4ANALYSIS_USE
    20   CPPFLAGS += -DG4ANALYSIS_USE
    21 endif
    22 
    2319include $(G4INSTALL)/config/architecture.gmk
    24 
    25 ifdef G4ANALYSIS_USE
    26   # for the aida-config command see the README file
    27   CPPFLAGS += `aida-config --include`
    28   LOADLIBS += `aida-config --lib`
    29 endif
    3020
    3121include $(G4INSTALL)/config/binmake.gmk
     
    3424        rm -f g4*.prim g4*.eps g4*.wrl
    3525        rm -f .DAWN_*
    36        
     26
    3727histclean:
    3828        rm ${G4WORKDIR}/tmp/${G4SYSTEM}/${G4TARGET}/HistoManager.o
  • trunk/examples/extended/medical/fanoCavity/fanoCavity.cc

    r807 r1230  
    2525//
    2626// $Id: fanoCavity.cc,v 1.6 2007/10/29 17:09:53 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/DetectorConstruction.hh

    r807 r1230  
    2525//
    2626// $Id: DetectorConstruction.hh,v 1.2 2007/10/08 12:05:02 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/DetectorMessenger.hh

    r807 r1230  
    2525//
    2626// $Id: DetectorMessenger.hh,v 1.2 2007/10/08 12:05:02 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/EventAction.hh

    r807 r1230  
    2525//
    2626// $Id: EventAction.hh,v 1.3 2007/10/29 17:09:53 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/EventActionMessenger.hh

    r807 r1230  
    2525//
    2626// $Id: EventActionMessenger.hh,v 1.1 2007/01/19 17:20:26 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/HistoManager.hh

    r807 r1230  
    2525//
    2626// $Id: HistoManager.hh,v 1.4 2007/11/13 11:31:54 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/HistoMessenger.hh

    r807 r1230  
    2525//
    2626// $Id: HistoMessenger.hh,v 1.2 2007/11/13 11:31:54 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/MyKleinNishinaCompton.hh

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: MyKleinNishinaCompton.hh,v 1.3 2007/05/23 08:40:21 vnivanch Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: MyKleinNishinaCompton.hh,v 1.4 2009/10/25 19:06:26 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     
    3636
    3737class DetectorConstruction;
     38class MyKleinNishinaMessenger;
    3839class G4ParticleChangeForGamma;
    3940
     
    6667protected:
    6768
    68   DetectorConstruction* detector;
    69   G4double              CrossSectionFactor;
     69  DetectorConstruction*    detector;
     70  MyKleinNishinaMessenger* pMessenger;
     71  G4double  CrossSectionFactor;
    7072
    7173};
  • trunk/examples/extended/medical/fanoCavity/include/MyMollerBhabhaModel.hh

    r807 r1230  
    2525//
    2626// $Id: MyMollerBhabhaModel.hh,v 1.1 2007/01/19 17:20:26 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
  • trunk/examples/extended/medical/fanoCavity/include/PhysicsList.hh

    r807 r1230  
    2424// ********************************************************************
    2525//
     26// $Id: PhysicsList.hh,v 1.4 2009/10/25 19:06:26 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2628//
    27 // $Id: PhysicsList.hh,v 1.3 2007/10/02 14:42:51 maire Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 //
    31 
    3229//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    3330//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    3633#define PhysicsList_h 1
    3734
    38 #include "G4VUserPhysicsList.hh"
     35#include "G4VModularPhysicsList.hh"
    3936#include "globals.hh"
    4037
     38class G4VPhysicsConstructor;
     39
    4140class DetectorConstruction;
    42 class MyKleinNishinaCompton;
    4341class PhysicsListMessenger;
    4442
    4543//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    4644
    47 class PhysicsList: public G4VUserPhysicsList
     45class PhysicsList: public G4VModularPhysicsList
    4846{
    49   public:
    50     PhysicsList(DetectorConstruction*);
    51   ~PhysicsList();
     47public:
     48  PhysicsList(DetectorConstruction*);
     49  virtual ~PhysicsList();
    5250
    53     // Construct particle and physics
    54     void ConstructParticle();
    55     void ConstructProcess();
    56  
    57     void SetCuts();
     51  void ConstructParticle();
     52       
     53  void AddPhysicsList(const G4String& name);   
     54  void ConstructProcess();   
     55  void AddStepMax();
     56 
     57  void SetCuts();     
    5858   
    59     // these methods Construct physics processes and register them
    60     void ConstructEM();
    61     void AddStepMax();
    62    
    63     void SetComptonCSfactor(G4double);
    64     void SingleCoulombScattering (G4bool);   
    65     void RegisterBrem (G4bool);
    66    
    67   private:
    68     DetectorConstruction*  detector;
    69     MyKleinNishinaCompton* comptonModel;
    70     G4bool                 singleScattering;       
    71     G4bool                 registerBrem;   
    72     PhysicsListMessenger*  pMessenger;   
     59private:
     60
     61  DetectorConstruction* detector;
     62  PhysicsListMessenger* pMessenger;
     63
     64  G4String emName;
     65  G4VPhysicsConstructor*  emPhysicsList;
    7366};
    7467
     
    7770#endif
    7871
    79 
    80 
  • trunk/examples/extended/medical/fanoCavity/include/PhysicsListMessenger.hh

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: PhysicsListMessenger.hh,v 1.2 2007/10/02 14:42:51 maire Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: PhysicsListMessenger.hh,v 1.3 2009/10/25 19:06:26 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    3333#define PhysicsListMessenger_h 1
    3434
     35#include "G4UImessenger.hh"
    3536#include "globals.hh"
    36 #include "G4UImessenger.hh"
    3737
    3838class PhysicsList;
    3939class G4UIdirectory;
    40 class G4UIcmdWithADouble;
    41 class G4UIcmdWithABool;
     40class G4UIcmdWithADoubleAndUnit;
     41class G4UIcmdWithAString;
    4242
    4343//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    4545class PhysicsListMessenger: public G4UImessenger
    4646{
    47   public: 
     47  public:
     48 
    4849    PhysicsListMessenger(PhysicsList* );
    4950   ~PhysicsListMessenger();
     
    5152    void SetNewValue(G4UIcommand*, G4String);
    5253   
    53   private: 
    54     PhysicsList*        pPhysicsList;   
    55     G4UIdirectory*      physDir;       
    56     G4UIcmdWithADouble* csFactor;
    57     G4UIcmdWithABool*   singleScat;     
    58     G4UIcmdWithABool*   brem;   
     54  private:
     55 
     56    PhysicsList*               pPhysicsList;
     57   
     58    G4UIdirectory*             physDir;
     59    G4UIcmdWithAString*        pListCmd;
    5960};
    6061
  • trunk/examples/extended/medical/fanoCavity/include/PrimaryGeneratorAction.hh

    r807 r1230  
    2525//
    2626// $Id: PrimaryGeneratorAction.hh,v 1.1 2007/01/19 17:20:26 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/PrimaryGeneratorMessenger.hh

    r807 r1230  
    2525//
    2626// $Id: PrimaryGeneratorMessenger.hh,v 1.1 2007/01/19 17:20:26 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/ProcessesCount.hh

    r807 r1230  
    2626//
    2727// $Id: ProcessesCount.hh,v 1.1 2007/01/19 17:20:26 maire Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/RunAction.hh

    r807 r1230  
    2525//
    2626// $Id: RunAction.hh,v 1.3 2007/10/29 12:36:26 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/StackingAction.hh

    r807 r1230  
    2525//
    2626// $Id: StackingAction.hh,v 1.1 2007/01/23 13:34:19 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/StackingMessenger.hh

    r807 r1230  
    2525//
    2626// $Id: StackingMessenger.hh,v 1.1 2007/01/23 13:34:19 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/StepMax.hh

    r807 r1230  
    2525//
    2626// $Id: StepMax.hh,v 1.1 2007/01/19 17:20:27 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/StepMaxMessenger.hh

    r807 r1230  
    2525//
    2626// $Id: StepMaxMessenger.hh,v 1.1 2007/01/19 17:20:27 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/SteppingAction.hh

    r807 r1230  
    2525//
    2626// $Id: SteppingAction.hh,v 1.4 2007/10/29 17:09:53 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/SteppingVerbose.hh

    r807 r1230  
    2525//
    2626// $Id: SteppingVerbose.hh,v 1.1 2007/01/19 17:20:27 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/include/TrackingAction.hh

    r807 r1230  
    2525//
    2626// $Id: TrackingAction.hh,v 1.3 2007/10/29 17:09:53 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/run01.mac

    r807 r1230  
    1 # $Id: run01.mac,v 1.5 2007/10/29 17:09:53 maire Exp $
     1# $Id: run01.mac,v 1.7 2009/10/25 19:06:26 maire Exp $
    22#
    33/control/verbose 2
    44/run/verbose 2
     5#
     6/testem/phys/addPhysics  standard_opt3
    57#
    68/run/initialize
     
    911#
    1012/testem/histo/setFileName fanocavity
    11 /testem/histo/setFileType hbook
     13/testem/histo/setFileType root
    1214/testem/histo/setHisto  1 120 -6 +6 mm          #interaction point
    1315/testem/histo/setHisto  2 125  0  1250 keV      #energy spectrum
  • trunk/examples/extended/medical/fanoCavity/src/DetectorConstruction.cc

    r807 r1230  
    2525//
    2626// $Id: DetectorConstruction.cc,v 1.3 2007/10/08 12:05:02 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828
    2929//
  • trunk/examples/extended/medical/fanoCavity/src/DetectorMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: DetectorMessenger.cc,v 1.3 2007/11/05 13:44:18 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/src/EventAction.cc

    r807 r1230  
    2525//
    2626// $Id: EventAction.cc,v 1.4 2007/10/29 17:09:53 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/src/EventActionMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: EventActionMessenger.cc,v 1.1 2007/01/19 17:20:27 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/src/HistoManager.cc

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: HistoManager.cc,v 1.5 2007/11/13 11:31:54 maire Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: HistoManager.cc,v 1.7 2008/09/28 16:04:01 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    5454 
    5555  fileName[0] = "fanocavity";
    56   fileType    = "hbook";
    57   fileOption  = "--noErrors uncompress"; 
     56  fileType    = "root";
     57  fileOption  = "--noErrors export=root uncompress"; 
    5858  // histograms
    5959  for (G4int k=0; k<MaxHisto; k++) {
     
    224224 if (ih > MaxHisto) {
    225225    G4cout << "---> warning from HistoManager::RemoveHisto() : histo " << ih
    226            << "does not exist" << G4endl;
     226           << "does not exist  (fac = " << fac << ")" << G4endl;
    227227    return;
    228228  }
  • trunk/examples/extended/medical/fanoCavity/src/HistoMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: HistoMessenger.cc,v 1.2 2007/11/13 11:31:54 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/src/MyKleinNishinaCompton.cc

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: MyKleinNishinaCompton.cc,v 1.5 2007/10/01 15:19:57 maire Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: MyKleinNishinaCompton.cc,v 1.6 2009/10/25 19:06:26 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     
    3131
    3232#include "MyKleinNishinaCompton.hh"
     33#include "MyKleinNishinaMessenger.hh"
    3334#include "DetectorConstruction.hh"
    3435
     
    4849  :G4KleinNishinaCompton(0,nam), detector(det)
    4950{
    50   CrossSectionFactor = 1.;
     51  CrossSectionFactor = 1.;
     52  pMessenger = new MyKleinNishinaMessenger(this);   
    5153}
    5254
     
    5456
    5557MyKleinNishinaCompton::~MyKleinNishinaCompton()
    56 {}
     58
     59  delete pMessenger; 
     60}
    5761
    5862//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
  • trunk/examples/extended/medical/fanoCavity/src/MyMollerBhabhaModel.cc

    r807 r1230  
    2525//
    2626// $Id: MyMollerBhabhaModel.cc,v 1.1 2007/01/19 17:20:27 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/src/PhysicsList.cc

    r807 r1230  
    2424// ********************************************************************
    2525//
     26// $Id: PhysicsList.cc,v 1.18 2009/10/29 16:19:59 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2628//
    27 // $Id: PhysicsList.cc,v 1.9 2007/10/02 14:42:51 maire Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 
    3129//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    3230//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    3432#include "PhysicsList.hh"
    3533#include "PhysicsListMessenger.hh"
    36 #include "DetectorConstruction.hh"
     34
     35#include "PhysListEmStandard_option0.hh"
     36#include "PhysListEmStandard_option3.hh"
     37#include "PhysListEmStandard_GS.hh"
     38#include "PhysListEmStandard_SS.hh"
     39
     40#include "StepMax.hh"
    3741
    3842#include "G4ParticleDefinition.hh"
    39 #include "G4ParticleTypes.hh"
    40 #include "G4ParticleTable.hh"
    4143
    4244#include "G4ProcessManager.hh"
    4345#include "G4LossTableManager.hh"
    4446
     47// Bosons
     48#include "G4ChargedGeantino.hh"
     49#include "G4Geantino.hh"
     50#include "G4Gamma.hh"
     51
     52// leptons
     53#include "G4Electron.hh"
     54#include "G4Positron.hh"
     55
     56// Hadrons
     57#include "G4Proton.hh"
     58
     59
    4560//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    4661
    4762PhysicsList::PhysicsList(DetectorConstruction* det)
    48 : G4VUserPhysicsList(), detector(det)
     63: G4VModularPhysicsList(), detector(det)
    4964{
    50   defaultCutValue = 10.*km;
    51   singleScattering = false;
    52   registerBrem = false;
    53   pMessenger = new PhysicsListMessenger(this);
    54   SetVerboseLevel(1);
     65  G4LossTableManager::Instance();
     66  pMessenger = new PhysicsListMessenger(this);
     67   
     68  // EM physics
     69  emName = G4String("standard_opt3");
     70  emPhysicsList = new PhysListEmStandard_option3(emName,detector);
     71     
     72  defaultCutValue = 10*km;
     73
     74  SetVerboseLevel(1); 
    5575 
    56   G4LossTableManager::Instance(); 
     76  G4LossTableManager::Instance();
    5777}
    5878
     
    6080
    6181PhysicsList::~PhysicsList()
    62 { delete pMessenger; }
     82{
     83  delete emPhysicsList;
     84  delete pMessenger; 
     85}
    6386
    6487//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    6689void PhysicsList::ConstructParticle()
    6790{
     91  // pseudo-particles
    6892  G4Geantino::GeantinoDefinition();
     93  G4ChargedGeantino::ChargedGeantinoDefinition();
     94 
     95  // gamma
    6996  G4Gamma::GammaDefinition();
    70 
     97 
     98  // leptons
    7199  G4Electron::ElectronDefinition();
    72100  G4Positron::PositronDefinition();
    73101
    74   G4Proton::ProtonDefinition();
     102  // baryons
     103  G4Proton::ProtonDefinition(); 
    75104}
    76105
     
    80109{
    81110  AddTransportation();
    82   ConstructEM();
     111  emPhysicsList->ConstructProcess();
     112
    83113  AddStepMax();
    84114}
    85115
    86116//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    87 
    88 #include "G4ComptonScattering.hh"
    89 #include "MyKleinNishinaCompton.hh"
    90 #include "G4GammaConversion.hh"
    91 #include "G4PhotoElectricEffect.hh"
    92 
    93 #include "G4MultipleScattering.hh"
    94 #include "G4CoulombScattering.hh"
    95 
    96 #include "G4eIonisation.hh"
    97 #include "MyMollerBhabhaModel.hh"
    98 #include "G4eBremsstrahlung.hh"
    99 #include "G4eplusAnnihilation.hh"
    100 
    101 #include "G4hIonisation.hh"
    102 
    103 #include "G4EmProcessOptions.hh"
    104 #include "G4MscStepLimitType.hh"
    105 
    106 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    107 
    108 
    109 void PhysicsList::ConstructEM()
    110 {
    111   theParticleIterator->reset();
    112   while( (*theParticleIterator)() ){
    113     G4ParticleDefinition* particle = theParticleIterator->value();
    114     G4ProcessManager* pmanager = particle->GetProcessManager();
    115     G4String particleName = particle->GetParticleName();
    116     G4int iAlong = 0, iPost = 0;
    117      
    118     if (particleName == "gamma") {
    119    
    120       G4ComptonScattering* compton = new G4ComptonScattering();
    121       compton->SetModel(comptonModel = new MyKleinNishinaCompton(detector));
    122       comptonModel->SetCSFactor(1000.);
    123        
    124       pmanager->AddDiscreteProcess(compton);               
    125       pmanager->AddDiscreteProcess(new G4PhotoElectricEffect);
    126       pmanager->AddDiscreteProcess(new G4GammaConversion);
    127      
    128     } else if (particleName == "e-") {
    129 
    130       if (singleScattering)
    131         pmanager->AddProcess(new G4CoulombScattering,  -1, -1,       ++iPost);
    132         else   
    133         pmanager->AddProcess(new G4MultipleScattering, -1, ++iAlong, ++iPost);
    134      
    135       G4eIonisation* eIoni = new G4eIonisation();
    136       eIoni->SetEmModel(new MyMollerBhabhaModel);             
    137       pmanager->AddProcess(eIoni,                      -1, ++iAlong, ++iPost);
    138      
    139       if (registerBrem)
    140         pmanager->AddProcess(new G4eBremsstrahlung,    -1, ++iAlong, ++iPost);     
    141        
    142     } else if (particleName == "e+") {
    143    
    144       if (singleScattering)
    145         pmanager->AddProcess(new G4CoulombScattering,  -1, -1,       ++iPost);
    146         else   
    147         pmanager->AddProcess(new G4MultipleScattering, -1, ++iAlong, ++iPost);
    148      
    149       G4eIonisation* pIoni = new G4eIonisation();
    150       pIoni->SetEmModel(new MyMollerBhabhaModel);                   
    151       pmanager->AddProcess(pIoni,                      -1, ++iAlong, ++iPost);
    152      
    153       if (registerBrem) {
    154         pmanager->AddProcess(new G4eBremsstrahlung,    -1, ++iAlong, ++iPost);
    155         pmanager->AddProcess(new G4eplusAnnihilation,   0, -1,       ++iPost);
    156       }
    157      
    158     } else if (particleName == "proton") {
    159    
    160       if (singleScattering)
    161         pmanager->AddProcess(new G4CoulombScattering,  -1, -1,       ++iPost);
    162         else   
    163         pmanager->AddProcess(new G4MultipleScattering, -1, ++iAlong, ++iPost);
    164        
    165       pmanager->AddProcess(new G4hIonisation,          -1, ++iAlong, ++iPost);
    166     }
    167   }
    168  
    169   // Em options
    170   //
    171   G4EmProcessOptions emOptions;
    172  
    173   //multiple scattering
    174   //
    175   emOptions.SetMscStepLimitation(fUseDistanceToBoundary);
    176   emOptions.SetSkin(2.);
    177  
    178   //physics tables
    179   //
    180   emOptions.SetMinEnergy(100*eV);   
    181   emOptions.SetMaxEnergy(10*GeV); 
    182   emOptions.SetDEDXBinning(800); 
    183   emOptions.SetLambdaBinning(800);
    184  
    185   //energy loss
    186   // 
    187   emOptions.SetStepFunction(0.2, 10*um);
    188   emOptions.SetLinearLossLimit(1.e-6);
    189          
    190   //build CSDA range
    191   //
    192   emOptions.SetBuildCSDARange(true);
    193   emOptions.SetMaxEnergyForCSDARange(10*GeV); 
    194   emOptions.SetDEDXBinningForCSDARange(800);   
    195 }
    196 
    197 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    198 
    199 #include "StepMax.hh"
    200117
    201118void PhysicsList::AddStepMax()
     
    209126      G4ProcessManager* pmanager = particle->GetProcessManager();
    210127
    211       if (stepMaxProcess->IsApplicable(*particle))
     128      if (stepMaxProcess->IsApplicable(*particle) && !particle->IsShortLived())
    212129        {
    213130          pmanager ->AddDiscreteProcess(stepMaxProcess);
    214131        }
     132  }
     133}
     134
     135//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     136
     137void PhysicsList::AddPhysicsList(const G4String& name)
     138{
     139  if (verboseLevel>-1) {
     140    G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
     141  }
     142
     143  if (name == emName) return;
     144
     145  if (name == "standard_opt0") {
     146
     147    emName = name;
     148    delete emPhysicsList;
     149    emPhysicsList = new PhysListEmStandard_option0(name,detector);
     150   
     151  } else if (name == "standard_opt3") {
     152
     153    emName = name;
     154    delete emPhysicsList;
     155    emPhysicsList = new PhysListEmStandard_option3(name,detector);
     156   
     157  } else if (name == "standard_GS") {
     158
     159    emName = name;
     160    delete emPhysicsList;
     161    emPhysicsList = new PhysListEmStandard_GS(name,detector);   
     162   
     163  } else if (name == "standard_SS") {
     164
     165    emName = name;
     166    delete emPhysicsList;
     167    emPhysicsList = new PhysListEmStandard_SS(name,detector);   
     168  } else {
     169
     170    G4cout << "PhysicsList::AddPhysicsList: <" << name << ">"
     171           << " is not defined"
     172           << G4endl;
    215173  }
    216174}
     
    232190  SetCutValue(defaultCutValue, "e-");
    233191  SetCutValue(defaultCutValue, "e+");
     192  SetCutValue(defaultCutValue, "proton"); 
    234193}
    235194
    236195//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    237 
    238 void PhysicsList::SetComptonCSfactor(G4double factor)
    239 {
    240   if (comptonModel) comptonModel->SetCSFactor(factor);
    241 }
    242 
    243 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    244 
    245 void PhysicsList::SingleCoulombScattering(G4bool flag)
    246 {
    247   singleScattering = flag;
    248 }
    249 
    250 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    251 
    252 void PhysicsList::RegisterBrem(G4bool flag)
    253 {
    254   registerBrem = flag;
    255 }
    256 
    257 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    258 
    259 
    260 
    261 
  • trunk/examples/extended/medical/fanoCavity/src/PhysicsListMessenger.cc

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: PhysicsListMessenger.cc,v 1.2 2007/10/02 14:42:51 maire Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: PhysicsListMessenger.cc,v 1.3 2009/10/25 19:06:26 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    3333
    3434#include "PhysicsList.hh"
    35 #include "MyKleinNishinaCompton.hh"
    3635#include "G4UIdirectory.hh"
    37 #include "G4UIcmdWithADouble.hh"
    38 #include "G4UIcmdWithABool.hh"
     36#include "G4UIcmdWithADoubleAndUnit.hh"
     37#include "G4UIcmdWithAString.hh"
    3938
    4039//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    4241PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys)
    4342:pPhysicsList(pPhys)
    44 {
     43{ 
    4544  physDir = new G4UIdirectory("/testem/phys/");
    4645  physDir->SetGuidance("physics list commands");
    47  
    48   csFactor = new G4UIcmdWithADouble("/testem/phys/crossSectionFactor",this);
    49   csFactor->SetGuidance("multiply Compton cross section");
    50   csFactor->SetParameterName("factor",false);
    51   csFactor->SetRange("factor>=0");
    52  
    53   singleScat = new G4UIcmdWithABool("/testem/phys/singleScattering",this);
    54   singleScat->SetGuidance("apply single Coulomb scattering process");
    55   singleScat->SetParameterName("flag",true);
    56   singleScat->SetDefaultValue(true);
    57   singleScat->AvailableForStates(G4State_PreInit);
    58        
    59   brem = new G4UIcmdWithABool("/testem/phys/registerBrem",this);
    60   brem->SetGuidance("register Brems in PhysicsList");
    61   brem->SetParameterName("flag",true);
    62   brem->SetDefaultValue(true);
    63   brem->AvailableForStates(G4State_PreInit);   
     46
     47  pListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); 
     48  pListCmd->SetGuidance("Add modula physics list.");
     49  pListCmd->SetParameterName("PList",false);
     50  pListCmd->AvailableForStates(G4State_PreInit);
    6451}
    6552
     
    6855PhysicsListMessenger::~PhysicsListMessenger()
    6956{
    70   delete csFactor;
    71   delete singleScat;
    72   delete brem;
    73   delete physDir;   
     57  delete pListCmd;
     58  delete physDir;
    7459}
    7560
     
    7863void PhysicsListMessenger::SetNewValue(G4UIcommand* command,
    7964                                          G4String newValue)
    80 {
    81   if (command == csFactor)
    82    {pPhysicsList->SetComptonCSfactor(csFactor->GetNewDoubleValue(newValue));}
    83    
    84   if (command == singleScat)
    85    {pPhysicsList->SingleCoulombScattering(singleScat->GetNewBoolValue(newValue));}
    86            
    87   if (command == brem)
    88    {pPhysicsList->RegisterBrem(brem->GetNewBoolValue(newValue));}     
     65{           
     66  if( command == pListCmd )
     67   { pPhysicsList->AddPhysicsList(newValue);}
    8968}
    9069
  • trunk/examples/extended/medical/fanoCavity/src/PrimaryGeneratorAction.cc

    r807 r1230  
    2525//
    2626// $Id: PrimaryGeneratorAction.cc,v 1.1 2007/01/19 17:20:27 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/src/PrimaryGeneratorMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: PrimaryGeneratorMessenger.cc,v 1.1 2007/01/19 17:20:27 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/src/RunAction.cc

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: RunAction.cc,v 1.3 2007/10/29 12:36:26 maire Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: RunAction.cc,v 1.4 2009/01/22 18:34:06 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    325325  //
    326326  G4double ratio = doseOverBeam/massTransfCoef;
    327   G4double error = ratio*(dEoverE + dToverT);
     327  G4double error = ratio*std::sqrt(dEoverE*dEoverE + dToverT*dToverT);
    328328 
    329329  G4cout.precision(5); 
  • trunk/examples/extended/medical/fanoCavity/src/StackingAction.cc

    r807 r1230  
    2525//
    2626// $Id: StackingAction.cc,v 1.2 2007/03/02 11:08:41 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/src/StackingMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: StackingMessenger.cc,v 1.1 2007/01/23 13:34:19 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/src/StepMax.cc

    r807 r1230  
    2525//
    2626// $Id: StepMax.cc,v 1.1 2007/01/19 17:20:27 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/src/StepMaxMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: StepMaxMessenger.cc,v 1.1 2007/01/19 17:20:27 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/src/SteppingAction.cc

    r807 r1230  
    2525//
    2626// $Id: SteppingAction.cc,v 1.4 2007/10/29 17:09:53 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/src/SteppingVerbose.cc

    r807 r1230  
    2525//
    2626// $Id: SteppingVerbose.cc,v 1.1 2007/01/19 17:20:27 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity/src/TrackingAction.cc

    r807 r1230  
    2525//
    2626// $Id: TrackingAction.cc,v 1.4 2007/10/29 17:09:53 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Note: See TracChangeset for help on using the changeset viewer.