CHIPS.icc

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 // ClassName:   CHIPS
00027 //
00028 // Author: 2009 M.Kosov (based on QGSC_BERT, but without BERT)
00029 //
00030 // Modified:
00031 // 04.06.2010 G.Folger: Use new ctor for builders
00032 // 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts 
00033 //
00034 //----------------------------------------------------------------------------
00035 //
00036 #include <iomanip>   
00037 
00038 #include "globals.hh"
00039 #include "G4ios.hh"
00040 #include "G4ProcessManager.hh"
00041 #include "G4ProcessVector.hh"
00042 #include "G4ParticleTypes.hh"
00043 #include "G4ParticleTable.hh"
00044 
00045 #include "G4Material.hh"
00046 #include "G4MaterialTable.hh"
00047 
00048 #include "G4DecayPhysics.hh"
00049 #include "G4EmStandardPhysics.hh"
00050 //#include "G4QAtomicPhysics.hh"
00051 #include "G4QPhotoNuclearPhysics.hh"
00052 #include "G4QNeutrinoPhysics.hh"
00053 #include "G4QIonPhysics.hh"
00054 #include "G4QCaptureAtRestPhysics.hh"
00055 #include "G4QElasticPhysics.hh"
00056 #include "G4NeutronTrackingCut.hh"
00057 
00058 #include "G4DataQuestionaire.hh"
00059 #include "HadronPhysicsCHIPS.hh"
00060 
00061 #include "G4WarnPLStatus.hh"
00062 
00063 
00064 template<class T> TCHIPS<T>::TCHIPS(G4int ver):  T()
00065 {
00066   // default cut value  (1.0mm) 
00067   // defaultCutValue = 1.0*CLHEP::mm;
00068   G4DataQuestionaire it(photon);
00069   G4cout << "<<< Geant4 Physics List simulation engine: CHIPS 1.3"<<G4endl;
00070   G4cout <<G4endl<<G4endl;
00071   this->defaultCutValue = 0.7*CLHEP::mm;  
00072   this->SetVerboseLevel(ver);
00073 
00074   G4WarnPLStatus obs;
00075   obs.Unsupported("CHIPS", "FTFP_BERT");
00076 
00077   // EM Physics
00078   //this->RegisterPhysics( new G4QAtomicPhysics(ver));
00079   this->RegisterPhysics( new G4EmStandardPhysics(ver));
00080 
00081   // Synchroton Radiation & Photo-Nuclear Physics
00082   this->RegisterPhysics( new G4QPhotoNuclearPhysics(ver));
00083 
00084   // Neutrino-Nuclear Physics
00085   this->RegisterPhysics( new G4QNeutrinoPhysics(ver));
00086 
00087   // Decays
00088   this->RegisterPhysics( new G4DecayPhysics(ver) );
00089 
00090    // Hadron Elastic scattering, "CHIPS" version (to be replaced by G4QElasticPhysics)
00091   this->RegisterPhysics( new G4QElasticPhysics(ver));
00092 
00093    // Hadron Physics (to be replaced by G4QInelasticPhysics)
00094   this->RegisterPhysics(  new HadronPhysicsCHIPS(ver));
00095 
00096   // Stopping Physics
00097   this->RegisterPhysics( new G4QCaptureAtRestPhysics(ver) );
00098 
00099   // Ion Physics
00100   this->RegisterPhysics( new G4QIonPhysics(ver));
00101   
00102   // Neutron tracking cut
00103   this->RegisterPhysics( new G4NeutronTrackingCut(ver));
00104 
00105 }
00106 
00107 template<class T> TCHIPS<T>::~TCHIPS() {}
00108 
00109 template<class T> void TCHIPS<T>::SetCuts()
00110 {
00111   if (this->verboseLevel >1) G4cout << "CHIPS::SetCuts:"; 
00112   //  " G4VUserPhysicsList::SetCutsWithDefault" method sets 
00113   //   the default cut value for all particle types 
00114 
00115   this->SetCutsWithDefault();   
00116   
00117   //  if (this->verboseLevel >0)
00118   //    G4VUserPhysicsList::DumpCutValuesTable();  
00119   
00120 }
00121 

Generated on Mon May 27 17:47:34 2013 for Geant4 by  doxygen 1.4.7