Import Geant4 8.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 14:55:03 +02:00
parent 216a75eeb1
commit fe73f43734
6714 changed files with 118229 additions and 68144 deletions
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: Brachy.cc
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// --------------------------------------------------------------
// GEANT 4 - ExDiane example
@@ -29,7 +29,7 @@
//
//
// $Id: BrachyAnalysisManager.hh,v 1.3 2006/06/29 17:30:48 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// **********************************
// * *
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyDetectorConstruction.hh,v 1.3 2006/06/29 17:30:50 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// ****************************************
// * *
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyDetectorConstructionI.hh,v 1.3 2006/06/29 17:31:10 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// ****************************************
// * *
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyDetectorConstructionIr.hh,v 1.3 2006/06/29 17:31:13 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// ****************************************
// * *
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyDetectorConstructionLeipzig.hh,v 1.3 2006/06/29 17:31:16 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//Author: Susanna Guatelli
//
@@ -33,7 +33,7 @@
// *****************************************
//
// $Id: BrachyDetectorMessenger.hh,v 1.3 2006/06/29 17:31:19 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
#ifndef BrachyDetectorMessenger_h
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyEventAction.hh,v 1.3 2006/06/29 17:31:23 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// Code developed by:
// S.Guatelli
@@ -26,7 +26,7 @@
// Code developed by: Susanna Guatelli
//
// $Id: BrachyFactory.hh,v 1.2 2006/06/29 17:31:39 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// **********************************
// * *
@@ -35,7 +35,7 @@
//
//
// $Id: BrachyFactoryI.hh,v 1.2 2006/06/29 17:32:05 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyFactoryIr.hh,v 1.2 2006/06/29 17:32:07 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// **********************************
// * *
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyFactoryLeipzig.hh,v 1.2 2006/06/29 17:32:10 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// **********************************
// * *
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyMaterial.hh,v 1.2 2006/06/29 17:32:12 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// **********************************
// * *
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyPhantomHit.hh,v 1.3 2006/06/29 17:32:14 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// ********************************
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyPhantomROGeometry.hh,v 1.3 2006/06/29 17:32:16 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// ************************************
// * *
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyPhantomSD.hh,v 1.2 2006/06/29 17:32:19 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// ********************************
// * *
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyPhysicsList.hh,v 1.3 2006/06/29 17:32:21 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// **********************************
// * *
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyPrimaryGeneratorAction.hh,v 1.2 2006/06/29 17:32:23 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// ********************************************
// * *
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyPrimaryGeneratorActionI.hh,v 1.3 2006/06/29 17:32:26 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
//
@@ -26,7 +26,7 @@
//Author: Susanna Guatelli
//
// $Id: BrachyPrimaryGeneratorActionIr.hh,v 1.3 2006/06/29 17:32:28 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// *************************************************
// * *
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyRunAction.hh,v 1.3 2006/06/29 17:32:30 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//Author: Susanna Guatelli
//
@@ -25,7 +25,7 @@
//
//
// $Id: BrachyRunMessenger.hh,v 1.3 2006/06/29 17:32:32 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//Author: Susanna Guatelli
//
@@ -25,7 +25,7 @@
//
//
// $Id: BrachySimulation.hh
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// --------------------------------------------------------------
// GEANT 4 - Brachytherapy example
@@ -33,7 +33,7 @@
// *******************************
//
// $Id: BrachyAnalysisManager.cc,v 1.3 2006/06/29 17:32:37 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#ifdef G4ANALYSIS_USE
#include <stdlib.h>
@@ -37,7 +37,7 @@
// ****************************************
//
// $Id: BrachyDetectorConstruction.cc,v 1.3 2006/06/29 17:32:51 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "BrachyPhantomROGeometry.hh"
#include "BrachyPhantomSD.hh"
@@ -37,7 +37,7 @@
// ****************************************
//
// $Id: BrachyDetectorConstructionI.cc,v 1.3 2006/06/29 17:32:54 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "globals.hh"
#include "BrachyDetectorConstructionI.hh"
@@ -37,7 +37,7 @@
// ****************************************
//
// $Id: BrachyDetectorConstructionIr.cc,v 1.3 2006/06/29 17:32:56 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "globals.hh"
#include "BrachyDetectorConstructionIr.hh"
@@ -38,7 +38,7 @@
//
//
// $Id: BrachyDetectorConstructionLeipzig.cc,v 1.3 2006/06/29 17:32:59 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "globals.hh"
@@ -35,7 +35,7 @@
//
//
// $Id: BrachyDetectorMessenger.cc,v 1.3 2006/06/29 17:33:01 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
@@ -33,7 +33,7 @@
// *******************************
//
// $Id: BrachyEventAction.cc,v 1.3 2006/06/29 17:33:03 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "BrachyEventAction.hh"
#include "G4Event.hh"
@@ -35,7 +35,7 @@
// *******************************
//
// $Id: BrachyFactory.cc,v 1.3 2006/06/29 17:33:12 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include"BrachyFactory.hh"
@@ -33,7 +33,7 @@
// *******************************
//
// $Id: BrachyFactoryI.cc,v 1.2 2006/06/29 17:33:14 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "BrachyFactoryI.hh"
#include "BrachyPrimaryGeneratorActionI.hh"
@@ -33,7 +33,7 @@
// *******************************
//
// $Id: BrachyFactoryIr.cc,v 1.3 2006/06/29 17:33:16 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "globals.hh"
#include "BrachyFactoryIr.hh"
@@ -33,7 +33,7 @@
// *******************************
//
// $Id: BrachyFactoryLeipzig.cc,v 1.3 2006/06/29 17:33:19 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "globals.hh"
@@ -33,7 +33,7 @@
// *******************************
//
// $Id: BrachyMaterial.cc,v 1.3 2006/06/29 17:33:21 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "G4MaterialPropertiesTable.hh"
@@ -33,7 +33,7 @@
// ********************************
//
// $Id: BrachyPhantomHit.cc,v 1.3 2006/06/29 17:33:23 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "BrachyPhantomHit.hh"
#include "G4ios.hh"
@@ -33,7 +33,7 @@
// ************************************
//
// $Id: BrachyPhantomROGeometry.cc,v 1.3 2006/06/29 17:33:25 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "BrachyPhantomROGeometry.hh"
#include "BrachyDummySD.hh"
@@ -33,7 +33,7 @@
// ********************************
//
// $Id: BrachyPhantomSD.cc,v 1.4 2006/06/29 17:33:27 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "BrachyPhantomSD.hh"
#include "BrachyPhantomHit.hh"
@@ -33,7 +33,7 @@
// **********************************
//
// $Id: BrachyPhysicsList.cc,v 1.3 2006/06/29 17:33:29 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "BrachyPhysicsList.hh"
@@ -38,7 +38,7 @@
// ********************************************
//
// $Id: BrachyPrimaryGeneratorAction.cc,v 1.2 2006/06/29 17:33:31 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "globals.hh"
#include "BrachyPrimaryGeneratorAction.hh"
@@ -37,7 +37,7 @@
// ********************************************
//
// $Id: BrachyPrimaryGeneratorActionI.cc,v 1.4 2006/06/29 17:33:34 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "BrachyPrimaryGeneratorActionI.hh"
@@ -37,7 +37,7 @@
// ********************************************
//
// $Id: BrachyPrimaryGeneratorActionIr.cc,v 1.4 2006/06/29 17:33:36 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "BrachyPrimaryGeneratorActionIr.hh"
@@ -39,7 +39,7 @@
// *******************************
//
// $Id: BrachyRunAction.cc,v 1.3 2006/06/29 17:33:38 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#include "BrachyRunAction.hh"
@@ -27,7 +27,7 @@
// S.Guatelli
//
// $Id: BrachyRunMessenger.cc,v 1.3 2006/06/29 17:33:41 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
//
@@ -25,7 +25,7 @@
//
//
// $Id: BrachySimulation.cc
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// --------------------------------------------------------------
// GEANT 4 - Brachytherapy example
@@ -25,7 +25,7 @@
//
//
// $Id: G4HCofThisEvent.hh,v 1.3 2006/06/29 17:33:53 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#ifndef G4HCofThisEvent_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4THitsCollection.hh,v 1.3 2006/06/29 17:33:58 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#ifndef G4THitsCollection_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4VHitsCollection.hh,v 1.3 2006/06/29 17:34:00 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#ifndef G4VHitsCollection_h
+5 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.11 2005/11/28 11:30:55 gcosmo Exp $
$Id: History,v 1.12 2006/07/05 12:47:48 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -15,6 +15,10 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
Jul 5th, 2006 G.Cosmo - ParN02-V08-01-00
----------------------
- Brought up to date with latest fixes introduced in exampleN02.
Nov 28th, 2005 G.Cooperman - ParN02-V07-01-01
---------------------------
- Updated in sync with the last kernel code.
+44 -24
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: ParN02.cc,v 1.4 2006/06/29 17:33:46 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: ParN02.cc,v 1.5 2006/07/05 12:45:59 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -52,64 +52,84 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
int main(int argc,char** argv) {
//my Verbose output class
G4VSteppingVerbose::SetInstance(new ExN02SteppingVerbose);
int main(int argc,char** argv)
{
// User Verbose output class
//
G4VSteppingVerbose* verbosity = new ExN02SteppingVerbose;
G4VSteppingVerbose::SetInstance(verbosity);
// Run manager
//
G4RunManager * runManager = new G4RunManager;
// UserInitialization classes (mandatory)
ExN02DetectorConstruction* ExN02detector = new ExN02DetectorConstruction;
runManager->SetUserInitialization(ExN02detector);
runManager->SetUserInitialization(new ExN02PhysicsList);
// User Initialization classes (mandatory)
//
ExN02DetectorConstruction* detector = new ExN02DetectorConstruction;
runManager->SetUserInitialization(detector);
//
G4VUserPhysicsList* physics = new ExN02PhysicsList;
runManager->SetUserInitialization(physics);
#ifdef G4VIS_USE
// Visualization, if you choose to have it!
//
G4VisManager* visManager = new G4VisExecutive;
visManager->Initialize();
#endif
// UserAction classes
runManager->SetUserAction(new ExN02PrimaryGeneratorAction(ExN02detector));
runManager->SetUserAction(new ExN02RunAction);
runManager->SetUserAction(new ExN02EventAction);
runManager->SetUserAction(new ExN02SteppingAction);
// User Action classes
//
G4VUserPrimaryGeneratorAction* gen_action = new ExN02PrimaryGeneratorAction(detector);
runManager->SetUserAction(gen_action);
//
G4UserRunAction* run_action = new ExN02RunAction;
runManager->SetUserAction(run_action);
//
G4UserEventAction* event_action = new ExN02EventAction;
runManager->SetUserAction(event_action);
//
G4UserSteppingAction* stepping_action = new ExN02SteppingAction;
runManager->SetUserAction(stepping_action);
//Initialize G4 kernel
// Initialize G4 kernel
//
runManager->Initialize();
//get the pointer to the User Interface manager
// Get the pointer to the User Interface manager
//
G4UImanager * UI = G4UImanager::GetUIpointer();
if(argc==1)
// Define (G)UI terminal for interactive mode
if(argc==1) // Define (G)UI terminal for interactive mode
{
// G4UIterminal is a (dumb) terminal.
// G4UIterminal is a (dumb) terminal
//
G4UIsession * session = 0;
#ifdef G4UI_USE_TCSH
session = new G4UIterminal(new G4UItcsh);
#else
session = new G4UIterminal();
#endif
UI->ApplyCommand("/control/execute vis.mac");
UI->ApplyCommand("/run/beamOn 10");
session->SessionStart();
delete session;
}
else
// Batch mode
else // Batch mode
{
G4String command = "/control/execute ";
G4String fileName = argv[1];
UI->ApplyCommand(command+fileName);
}
// Free the store: user actions, physics_list and detector_description are
// owned and deleted by the run manager, so they should not
// be deleted in the main() program !
#ifdef G4VIS_USE
delete visManager;
#endif
delete runManager;
delete verbosity;
return 0;
}
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: ParTopC.icc,v 1.2 2006/06/29 17:33:49 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// --------------------------------------------------------------------
// Parallel Library for Geant4
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02ChamberParameterisation.hh,v 1.4 2006/06/29 17:34:02 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// A parameterisation that describes a series of boxes along Z
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02DetectorConstruction.hh,v 1.2 2006/06/29 17:34:05 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02DetectorMessenger.hh,v 1.3 2006/06/29 17:34:08 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02EventAction.hh,v 1.2 2006/06/29 17:34:10 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02MagneticField.hh,v 1.2 2006/06/29 17:34:12 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// A class for control of the Magnetic Field of the detector.
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02PhysicsList.hh,v 1.2 2006/06/29 17:34:14 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02PrimaryGeneratorAction.hh,v 1.2 2006/06/29 17:34:17 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: ExN02RunAction.hh,v 1.2 2006/06/29 17:34:19 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: ExN02RunAction.hh,v 1.3 2006/07/05 12:46:00 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -48,7 +48,6 @@ class ExN02RunAction : public G4UserRunAction
public:
void BeginOfRunAction(const G4Run*);
void EndOfRunAction(const G4Run*);
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02SteppingAction.hh,v 1.2 2006/06/29 17:34:21 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02SteppingVerbose.hh,v 1.2 2006/06/29 17:34:23 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// This class manages the verbose outputs in G4SteppingManager.
// It inherits from G4SteppingVerbose.
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02TrackerSD.hh,v 1.2 2006/06/29 17:34:28 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: ParRunManager.hh,v 1.3 2006/06/29 17:34:30 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// --------------------------------------------------------------------
// Parallel Library for Geant4
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02ChamberParameterisation.cc,v 1.3 2006/06/29 17:34:32 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02DetectorConstruction.cc,v 1.3 2006/06/29 17:34:35 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02DetectorMessenger.cc,v 1.4 2006/06/29 17:34:38 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02EventAction.cc,v 1.2 2006/06/29 17:34:41 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02MagneticField.cc,v 1.2 2006/06/29 17:34:44 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// User Field class implementation.
//
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02PhysicsList.cc,v 1.4 2006/06/29 17:34:47 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02PrimaryGeneratorAction.cc,v 1.2 2006/06/29 17:34:50 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: ExN02RunAction.cc,v 1.2 2006/06/29 17:34:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: ExN02RunAction.cc,v 1.3 2006/07/05 12:46:00 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -34,7 +34,6 @@
#include "G4Run.hh"
#include "G4UImanager.hh"
#include "G4VVisManager.hh"
#include "G4ios.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -52,22 +51,6 @@ ExN02RunAction::~ExN02RunAction()
void ExN02RunAction::BeginOfRunAction(const G4Run* aRun)
{
G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl;
if (G4VVisManager::GetConcreteInstance())
{
G4UImanager* UI = G4UImanager::GetUIpointer();
UI->ApplyCommand("/vis/scene/notifyHandlers");
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExN02RunAction::EndOfRunAction(const G4Run*)
{
if (G4VVisManager::GetConcreteInstance())
{
G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/update");
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02SteppingAction.cc,v 1.2 2006/06/29 17:35:04 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02SteppingVerbose.cc,v 1.4 2006/06/29 17:35:07 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02TrackerHit.cc,v 1.3 2006/06/29 17:35:09 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN02TrackerSD.cc,v 1.3 2006/06/29 17:35:11 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: G4HCofThisEvent.hh,v 1.3 2006/06/29 17:35:30 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#ifndef G4HCofThisEvent_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4THitsCollection.hh,v 1.3 2006/06/29 17:35:35 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#ifndef G4THitsCollection_h
@@ -25,7 +25,7 @@
//
//
// $Id: G4VHitsCollection.hh,v 1.3 2006/06/29 17:35:37 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
#ifndef G4VHitsCollection_h
+6 -13
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.1 2002/03/05 15:22:04 gcosmo Exp $
# $Id: GNUmakefile,v 1.3 2006/11/16 13:38:46 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
@@ -13,18 +13,11 @@ ifndef G4INSTALL
G4INSTALL = ../../..
endif
.PHONY: all
all: lib bin
all: had_list lib bin
had_list:
@echo "This example uses the QGSP 'educated guess physics list'"
include $(G4INSTALL)/config/binmake.gmk
CXXFLAGS_WITHOUT_O := $(filter-out -O% , $(CXXFLAGS))
CXXFLAGS_WITHOUT_O := $(filter-out +O% , $(CXXFLAGS_WITHOUT_O))
ifeq ($(G4SYSTEM),HP-aCC)
COMPILER := $(shell aCC -V 2>&1)
ifeq ($(COMPILER), aCC: HP ANSI C++ B3910B A.01.15)
$(G4TMP)/$(G4SYSTEM)/$(name)/ExN04HadronPhysics.o: src/ExN04HadronPhysics.cc
$(CXX) $(CXXFLAGS_WITHOUT_O) $(CPPFLAGS) -c $(OUT_OBJ)$@ src/ExN04HadronPhysics.cc
endif
endif
+16 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.10 2005/11/28 11:30:48 gcosmo Exp $
$Id: History,v 1.13 2006/11/18 03:45:57 asaim Exp $
-------------------------------------------------------------------
=========================================================
@@ -15,6 +15,21 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
Nov 17th, 2006 M.Asai - ParN04-V08-01-02
---------------------
- Fix a bug in ExN04CalorimeterSD.cc which was copied from original
novice/N04.
Nov 16th, 2006 G.Folger - ParN04-V08-01-01
-----------------------
- Adapt Gnumakefile to moved physics lists, hadronic_lists.gmk no longer
needed.
Jul 5th, 2006 G.Cosmo - ParN04-V08-01-00
----------------------
- Brought up to date with latest fixes introduced in exampleN04,
in order to make it run with release 8 series.
Nov 28th, 2005 G.Cooperman - ParN04-V07-01-01
---------------------------
- Updated in sync with the last kernel code.
+48 -23
View File
@@ -24,17 +24,12 @@
// ********************************************************************
//
//
// $Id: ParN04.cc,v 1.5 2006/06/29 17:35:16 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: ParN04.cc,v 1.6 2006/07/05 13:07:54 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------
// GEANT 4 - ParN04
//
// --------------------------------------------------------------
// Comments
//
//
// --------------------------------------------------------------
@@ -44,7 +39,7 @@
#include "G4UItcsh.hh"
#include "ExN04DetectorConstruction.hh"
#include "ExN04PhysicsList.hh"
#include "QGSP.hh"
#include "ExN04PrimaryGeneratorAction.hh"
#include "ExN04RunAction.hh"
#include "ExN04EventAction.hh"
@@ -61,34 +56,60 @@
int main(int argc,char** argv)
{
G4VSteppingVerbose::SetInstance(new ExN04SteppingVerbose);
// User Verbose output class
//
G4VSteppingVerbose* verbosity = new ExN04SteppingVerbose;
G4VSteppingVerbose::SetInstance(verbosity);
// Run manager
//
G4RunManager* runManager = new G4RunManager;
runManager->SetUserInitialization(new ExN04DetectorConstruction);
runManager->SetUserInitialization(new ExN04PhysicsList);
// User Initialization classes (mandatory)
//
G4VUserDetectorConstruction* detector = new ExN04DetectorConstruction;
runManager->SetUserInitialization(detector);
//
G4VUserPhysicsList* physics = new QGSP;
runManager->SetUserInitialization(physics);
#ifdef G4VIS_USE
// Visualization, if you choose to have it!
//
G4VisManager* visManager = new G4VisExecutive;
visManager->Initialize();
#endif
runManager->Initialize();
runManager->SetUserAction(new ExN04PrimaryGeneratorAction);
runManager->SetUserAction(new ExN04RunAction);
runManager->SetUserAction(new ExN04EventAction);
runManager->SetUserAction(new ExN04StackingAction);
runManager->SetUserAction(new ExN04TrackingAction);
runManager->SetUserAction(new ExN04SteppingAction);
// User Action classes
//
G4VUserPrimaryGeneratorAction* gen_action = new ExN04PrimaryGeneratorAction;
runManager->SetUserAction(gen_action);
//
G4UserRunAction* run_action = new ExN04RunAction;
runManager->SetUserAction(run_action);
//
G4UserEventAction* event_action = new ExN04EventAction;
runManager->SetUserAction(event_action);
//
G4UserStackingAction* stacking_action = new ExN04StackingAction;
runManager->SetUserAction(stacking_action);
//
G4UserTrackingAction* tracking_action = new ExN04TrackingAction;
runManager->SetUserAction(tracking_action);
//
G4UserSteppingAction* stepping_action = new ExN04SteppingAction;
runManager->SetUserAction(stepping_action);
//get the pointer to the User Interface manager
// Get the pointer to the User Interface manager
//
G4UImanager* UImanager = G4UImanager::GetUIpointer();
if(argc==1)
if(argc==1) // Define (G)UI terminal for interactive mode
{
// G4UIterminal is a (dumb) terminal.
// G4UIterminal is a (dumb) terminal
//
#ifdef G4UI_USE_TCSH
G4UIsession* session = new G4UIterminal(new G4UItcsh);
#else
@@ -98,18 +119,22 @@ int main(int argc,char** argv)
session->SessionStart();
delete session;
}
else
else // Batch mode
{
G4String command = "/control/execute ";
G4String fileName = argv[1];
UImanager->ApplyCommand(command+fileName);
}
delete runManager;
// Free the store: user actions, physics_list and detector_description are
// owned and deleted by the run manager, so they should not
// be deleted in the main() program !
#ifdef G4VIS_USE
delete visManager;
#endif
delete runManager;
delete verbosity;
return 0;
}
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: ParTopC.icc,v 1.2 2006/06/29 17:35:18 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// --------------------------------------------------------------------
// Parallel Library for Geant4
@@ -0,0 +1,63 @@
# --------------------------------------------------------------
# GNUmakefile for physics list user.
# JPW. Fri Jul 25 10:39:58 CEST 2003
# --------------------------------------------------------------
ifndef G4LISTS_BASE
EXTRALIBS += -L$(G4LIB)/plists/$(G4SYSTEM)
G4LISTS_BASE = $(G4INSTALL)/physics_lists
else
EXTRALIBS += -L$(G4LISTS_BASE)/hadronic/plists/lib/$(G4SYSTEM)
endif
#
# Select your physics lists to link against.
#
# EXTRALIBS += -lFTFC
# EXTRALIBS += -lFTFP
# EXTRALIBS += -lLBE
# EXTRALIBS += -lLHEP
# EXTRALIBS += -lLHEP_GN
# EXTRALIBS += -lLHEP_HP
# EXTRALIBS += -lLHEP_LEAD
# EXTRALIBS += -lLHEP_BERT_HP
# EXTRALIBS += -lLHEP_BIC_HP
# EXTRALIBS += -lLHEP_LEAD_HP
# EXTRALIBS += -lLHEP_PRECO
# EXTRALIBS += -lQGSP_BERT
# EXTRALIBS += -lLHEP_PRECO_HP
# EXTRALIBS += -lQGSC
# EXTRALIBS += -lQGSC_LEAD
# EXTRALIBS += -lQGSC_LEAD_HP
EXTRALIBS += -lQGSP
# EXTRALIBS += -lQGSP_GN
# EXTRALIBS += -lQGSP_HP
# EXTRALIBS += -lLHEP_BERT
# EXTRALIBS += -lLHEP_BIC
# EXTRALIBS += -lQGSP_BIC
EXTRALIBS += -lPackaging
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/FTFC/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/FTFP/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LBE/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BERT/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BIC/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_GN/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_HP/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BERT_HP/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BIC_HP/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_LEAD/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_LEAD_HP/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_PRECO/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_PRECO_HP/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/Packaging/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSC/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSC_LEAD/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSC_LEAD_HP/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_BERT/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_BIC/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_GN/include
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_HP/include
@@ -25,7 +25,7 @@
//
//
// $Id: ExN04EMPhysics.hh,v 1.2 2006/06/29 17:36:01 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// ------------------------------------------------------------
@@ -1,80 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: ExN04GeneralPhysics.hh,v 1.2 2006/06/29 17:36:08 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
// Class Description:
// This class is an derived class of G4VPhysicsConstructor
//
// -------------------------------------------
// History
// first version 12 Nov. 2000 by H.Kurashige
// ------------------------------------------------------------
#ifndef ExN04GeneralPhysics_h
#define ExN04GeneralPhysics_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VPhysicsConstructor.hh"
#include "G4Decay.hh"
class ExN04GeneralPhysics : public G4VPhysicsConstructor
{
public:
ExN04GeneralPhysics(const G4String& name = "general");
virtual ~ExN04GeneralPhysics();
public:
// This method will be invoked in the Construct() method.
// each particle type will be instantiated
virtual void ConstructParticle();
// This method will be invoked in the Construct() method.
// each physics process will be instantiated and
// registered to the process manager of each particle type
virtual void ConstructProcess();
protected:
G4Decay fDecayProcess;
};
#endif
@@ -1,347 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExN04HadronPhysics.hh,v 1.4 2006/06/29 17:36:10 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// This class is an derived class of G4VPhysicsConstructor
//
// ------------------------------------------------------------
#ifndef ExN04HadronPhysics_h
#define ExN04HadronPhysics_h 1
#include "globals.hh"
#include "G4ios.hh"
#include <vector>
#include "G4VPhysicsConstructor.hh"
#include "G4MultipleScattering.hh"
#include "G4hIonisation.hh"
#include "G4HadronElasticProcess.hh"
#include "G4HadronFissionProcess.hh"
#include "G4HadronCaptureProcess.hh"
#include "G4PionPlusInelasticProcess.hh"
#include "G4PionMinusInelasticProcess.hh"
#include "G4KaonPlusInelasticProcess.hh"
#include "G4KaonZeroSInelasticProcess.hh"
#include "G4KaonZeroLInelasticProcess.hh"
#include "G4KaonMinusInelasticProcess.hh"
#include "G4ProtonInelasticProcess.hh"
#include "G4AntiProtonInelasticProcess.hh"
#include "G4NeutronInelasticProcess.hh"
#include "G4AntiNeutronInelasticProcess.hh"
#include "G4LambdaInelasticProcess.hh"
#include "G4AntiLambdaInelasticProcess.hh"
#include "G4SigmaPlusInelasticProcess.hh"
#include "G4SigmaMinusInelasticProcess.hh"
#include "G4AntiSigmaPlusInelasticProcess.hh"
#include "G4AntiSigmaMinusInelasticProcess.hh"
#include "G4XiZeroInelasticProcess.hh"
#include "G4XiMinusInelasticProcess.hh"
#include "G4AntiXiZeroInelasticProcess.hh"
#include "G4AntiXiMinusInelasticProcess.hh"
#include "G4DeuteronInelasticProcess.hh"
#include "G4TritonInelasticProcess.hh"
#include "G4AlphaInelasticProcess.hh"
#include "G4OmegaMinusInelasticProcess.hh"
#include "G4AntiOmegaMinusInelasticProcess.hh"
// Low-energy Models
#include "G4LElastic.hh"
#include "G4LFission.hh"
#include "G4LCapture.hh"
#include "G4LEPionPlusInelastic.hh"
#include "G4LEPionMinusInelastic.hh"
#include "G4LEKaonPlusInelastic.hh"
#include "G4LEKaonZeroSInelastic.hh"
#include "G4LEKaonZeroLInelastic.hh"
#include "G4LEKaonMinusInelastic.hh"
#include "G4LEProtonInelastic.hh"
#include "G4LEAntiProtonInelastic.hh"
#include "G4LENeutronInelastic.hh"
#include "G4LEAntiNeutronInelastic.hh"
#include "G4LELambdaInelastic.hh"
#include "G4LEAntiLambdaInelastic.hh"
#include "G4LESigmaPlusInelastic.hh"
#include "G4LESigmaMinusInelastic.hh"
#include "G4LEAntiSigmaPlusInelastic.hh"
#include "G4LEAntiSigmaMinusInelastic.hh"
#include "G4LEXiZeroInelastic.hh"
#include "G4LEXiMinusInelastic.hh"
#include "G4LEAntiXiZeroInelastic.hh"
#include "G4LEAntiXiMinusInelastic.hh"
#include "G4LEDeuteronInelastic.hh"
#include "G4LETritonInelastic.hh"
#include "G4LEAlphaInelastic.hh"
#include "G4LEOmegaMinusInelastic.hh"
#include "G4LEAntiOmegaMinusInelastic.hh"
// High-energy Models
#include "G4HEPionPlusInelastic.hh"
#include "G4HEPionMinusInelastic.hh"
#include "G4HEKaonPlusInelastic.hh"
#include "G4HEKaonZeroInelastic.hh"
#include "G4HEKaonZeroInelastic.hh"
#include "G4HEKaonMinusInelastic.hh"
#include "G4HEProtonInelastic.hh"
#include "G4HEAntiProtonInelastic.hh"
#include "G4HENeutronInelastic.hh"
#include "G4HEAntiNeutronInelastic.hh"
#include "G4HELambdaInelastic.hh"
#include "G4HEAntiLambdaInelastic.hh"
#include "G4HESigmaPlusInelastic.hh"
#include "G4HESigmaMinusInelastic.hh"
#include "G4HEAntiSigmaPlusInelastic.hh"
#include "G4HEAntiSigmaMinusInelastic.hh"
#include "G4HEXiZeroInelastic.hh"
#include "G4HEXiMinusInelastic.hh"
#include "G4HEAntiXiZeroInelastic.hh"
#include "G4HEAntiXiMinusInelastic.hh"
#include "G4HEOmegaMinusInelastic.hh"
#include "G4HEAntiOmegaMinusInelastic.hh"
// Stopping processes
#include "G4AntiProtonAnnihilationAtRest.hh"
#include "G4AntiNeutronAnnihilationAtRest.hh"
#ifdef TRIUMF_STOP_PIMINUS
#include "G4PionMinusAbsorptionAtRest.hh"
#else
#include "G4PiMinusAbsorptionAtRest.hh"
#endif
#ifdef TRIUMF_STOP_KMINUS
#include "G4KaonMinusAbsorption.hh"
#else
#include "G4KaonMinusAbsorptionAtRest.hh"
#endif
// quark gluon string model with chips afterburner.
#include "G4TheoFSGenerator.hh"
#include "G4ExcitationHandler.hh"
#include "G4PreCompoundModel.hh"
#include "G4GeneratorPrecompoundInterface.hh"
#include "G4QGSModel.hh"
#include "G4QGSParticipants.hh"
#include "G4QGSMFragmentation.hh"
#include "G4ExcitedStringDecay.hh"
class ExN04HadronPhysics : public G4VPhysicsConstructor
{
public:
ExN04HadronPhysics(const G4String& name ="hadron");
virtual ~ExN04HadronPhysics();
public:
// This method will be invoked in the Construct() method.
// each particle type will be instantiated
virtual void ConstructParticle();
// This method will be invoked in the Construct() method.
// each physics process will be instantiated and
// registered to the process manager of each particle type
virtual void ConstructProcess();
protected:
// Elastic Process
G4HadronElasticProcess theElasticProcess;
G4LElastic* theElasticModel;
// Pi +
G4PionPlusInelasticProcess thePionPlusInelastic;
G4LEPionPlusInelastic* theLEPionPlusModel;
G4MultipleScattering thePionPlusMult;
G4hIonisation thePionPlusIonisation;
// Pi -
G4PionMinusInelasticProcess thePionMinusInelastic;
G4LEPionMinusInelastic* theLEPionMinusModel;
G4MultipleScattering thePionMinusMult;
G4hIonisation thePionMinusIonisation;
#ifdef TRIUMF_STOP_PIMINUS
G4PionMinusAbsorptionAtRest thePionMinusAbsorption;
#else
G4PiMinusAbsorptionAtRest thePionMinusAbsorption;
#endif
// pi+ and pi-
G4TheoFSGenerator theTheoModel;
G4ExcitationHandler theHandler;
G4PreCompoundModel * thePreEquilib;
G4GeneratorPrecompoundInterface theCascade;
G4QGSModel< G4QGSParticipants > theStringModel;
G4QGSMFragmentation theFragmentation;
G4ExcitedStringDecay * theStringDecay;
// K +
G4KaonPlusInelasticProcess theKaonPlusInelastic;
G4LEKaonPlusInelastic* theLEKaonPlusModel;
G4HEKaonPlusInelastic* theHEKaonPlusModel;
G4MultipleScattering theKaonPlusMult;
G4hIonisation theKaonPlusIonisation;
// K -
G4KaonMinusInelasticProcess theKaonMinusInelastic;
G4LEKaonMinusInelastic* theLEKaonMinusModel;
G4HEKaonMinusInelastic* theHEKaonMinusModel;
G4MultipleScattering theKaonMinusMult;
G4hIonisation theKaonMinusIonisation;
#ifdef TRIUMF_STOP_KMINUS
G4KaonMinusAbsorption theKaonMinusAbsorption;
#else
G4PiMinusAbsorptionAtRest theKaonMinusAbsorption;
#endif
// K0L
G4KaonZeroLInelasticProcess theKaonZeroLInelastic;
G4LEKaonZeroLInelastic* theLEKaonZeroLModel;
G4HEKaonZeroInelastic* theHEKaonZeroLModel;
// K0S
G4KaonZeroSInelasticProcess theKaonZeroSInelastic;
G4LEKaonZeroSInelastic* theLEKaonZeroSModel;
G4HEKaonZeroInelastic* theHEKaonZeroSModel;
// Proton
G4ProtonInelasticProcess theProtonInelastic;
G4LEProtonInelastic* theLEProtonModel;
G4HEProtonInelastic* theHEProtonModel;
G4MultipleScattering theProtonMult;
G4hIonisation theProtonIonisation;
// anti-proton
G4AntiProtonInelasticProcess theAntiProtonInelastic;
G4LEAntiProtonInelastic* theLEAntiProtonModel;
G4HEAntiProtonInelastic* theHEAntiProtonModel;
G4MultipleScattering theAntiProtonMult;
G4hIonisation theAntiProtonIonisation;
G4AntiProtonAnnihilationAtRest theAntiProtonAnnihilation;
// neutron
G4NeutronInelasticProcess theNeutronInelastic;
G4LENeutronInelastic* theLENeutronModel;
G4HENeutronInelastic* theHENeutronModel;
G4HadronFissionProcess theNeutronFission;
G4LFission* theNeutronFissionModel;
G4HadronCaptureProcess theNeutronCapture;
G4LCapture* theNeutronCaptureModel;
// anti-neutron
G4AntiNeutronInelasticProcess theAntiNeutronInelastic;
G4LEAntiNeutronInelastic* theLEAntiNeutronModel;
G4HEAntiNeutronInelastic* theHEAntiNeutronModel;
G4AntiNeutronAnnihilationAtRest theAntiNeutronAnnihilation;
// Lambda
G4LambdaInelasticProcess theLambdaInelastic;
G4LELambdaInelastic* theLELambdaModel;
G4HELambdaInelastic* theHELambdaModel;
// AntiLambda
G4AntiLambdaInelasticProcess theAntiLambdaInelastic;
G4LEAntiLambdaInelastic* theLEAntiLambdaModel;
G4HEAntiLambdaInelastic* theHEAntiLambdaModel;
// SigmaMinus
G4SigmaMinusInelasticProcess theSigmaMinusInelastic;
G4LESigmaMinusInelastic* theLESigmaMinusModel;
G4HESigmaMinusInelastic* theHESigmaMinusModel;
G4MultipleScattering theSigmaMinusMult;
G4hIonisation theSigmaMinusIonisation;
// AntiSigmaMinus
G4AntiSigmaMinusInelasticProcess theAntiSigmaMinusInelastic;
G4LEAntiSigmaMinusInelastic* theLEAntiSigmaMinusModel;
G4HEAntiSigmaMinusInelastic* theHEAntiSigmaMinusModel;
G4MultipleScattering theAntiSigmaMinusMult;
G4hIonisation theAntiSigmaMinusIonisation;
// SigmaPlus
G4SigmaPlusInelasticProcess theSigmaPlusInelastic;
G4LESigmaPlusInelastic* theLESigmaPlusModel;
G4HESigmaPlusInelastic* theHESigmaPlusModel;
G4MultipleScattering theSigmaPlusMult;
G4hIonisation theSigmaPlusIonisation;
// AntiSigmaPlus
G4AntiSigmaPlusInelasticProcess theAntiSigmaPlusInelastic;
G4LEAntiSigmaPlusInelastic* theLEAntiSigmaPlusModel;
G4HEAntiSigmaPlusInelastic* theHEAntiSigmaPlusModel;
G4MultipleScattering theAntiSigmaPlusMult;
G4hIonisation theAntiSigmaPlusIonisation;
// XiZero
G4XiZeroInelasticProcess theXiZeroInelastic;
G4LEXiZeroInelastic* theLEXiZeroModel;
G4HEXiZeroInelastic* theHEXiZeroModel;
// AntiXiZero
G4AntiXiZeroInelasticProcess theAntiXiZeroInelastic;
G4LEAntiXiZeroInelastic* theLEAntiXiZeroModel;
G4HEAntiXiZeroInelastic* theHEAntiXiZeroModel;
// XiMinus
G4XiMinusInelasticProcess theXiMinusInelastic;
G4LEXiMinusInelastic* theLEXiMinusModel;
G4HEXiMinusInelastic* theHEXiMinusModel;
G4MultipleScattering theXiMinusMult;
G4hIonisation theXiMinusIonisation;
// AntiXiMinus
G4AntiXiMinusInelasticProcess theAntiXiMinusInelastic;
G4LEAntiXiMinusInelastic* theLEAntiXiMinusModel;
G4HEAntiXiMinusInelastic* theHEAntiXiMinusModel;
G4MultipleScattering theAntiXiMinusMult;
G4hIonisation theAntiXiMinusIonisation;
// OmegaMinus
G4OmegaMinusInelasticProcess theOmegaMinusInelastic;
G4LEOmegaMinusInelastic* theLEOmegaMinusModel;
G4HEOmegaMinusInelastic* theHEOmegaMinusModel;
G4MultipleScattering theOmegaMinusMult;
G4hIonisation theOmegaMinusIonisation;
// AntiOmegaMinus
G4AntiOmegaMinusInelasticProcess theAntiOmegaMinusInelastic;
G4LEAntiOmegaMinusInelastic* theLEAntiOmegaMinusModel;
G4HEAntiOmegaMinusInelastic* theHEAntiOmegaMinusModel;
G4MultipleScattering theAntiOmegaMinusMult;
G4hIonisation theAntiOmegaMinusIonisation;
};
#endif
@@ -1,115 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: ExN04IonPhysics.hh,v 1.3 2006/06/29 17:36:12 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
// Class Description:
// This class is an derived class of G4VPhysicsConstructor
//
// -------------------------------------------
// History
// first version 12 Nov. 2000 by H.Kurashige
// ------------------------------------------------------------
#ifndef ExN04IonPhysics_h
#define ExN04IonPhysics_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VPhysicsConstructor.hh"
#include "G4HadronElasticProcess.hh"
#include "G4LElastic.hh"
#include "G4DeuteronInelasticProcess.hh"
#include "G4LEDeuteronInelastic.hh"
#include "G4TritonInelasticProcess.hh"
#include "G4LETritonInelastic.hh"
#include "G4AlphaInelasticProcess.hh"
#include "G4LEAlphaInelastic.hh"
#include "G4hIonisation.hh"
#include "G4ionIonisation.hh"
#include "G4MultipleScattering.hh"
class ExN04IonPhysics : public G4VPhysicsConstructor
{
public:
ExN04IonPhysics(const G4String& name="ion");
virtual ~ExN04IonPhysics();
public:
// This method will be invoked in the Construct() method.
// each particle type will be instantiated
virtual void ConstructParticle();
// This method will be invoked in the Construct() method.
// each physics process will be instantiated and
// registered to the process manager of each particle type
virtual void ConstructProcess();
protected:
// Elastic Process
G4HadronElasticProcess theElasticProcess;
G4LElastic* theElasticModel;
// Generic Ion physics
G4MultipleScattering fIonMultipleScattering;
G4ionIonisation fIonIonisation;
// Deuteron physics
G4MultipleScattering fDeuteronMultipleScattering;
G4hIonisation fDeuteronIonisation;
G4DeuteronInelasticProcess fDeuteronProcess;
G4LEDeuteronInelastic* fDeuteronModel;
// Triton physics
G4MultipleScattering fTritonMultipleScattering;
G4hIonisation fTritonIonisation;
G4TritonInelasticProcess fTritonProcess;
G4LETritonInelastic* fTritonModel;
// Alpha physics
G4MultipleScattering fAlphaMultipleScattering;
G4hIonisation fAlphaIonisation;
G4AlphaInelasticProcess fAlphaProcess;
G4LEAlphaInelastic* fAlphaModel;
// He3 physics
G4MultipleScattering fHe3MultipleScattering;
G4hIonisation fHe3Ionisation;
};
#endif
@@ -1,96 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: ExN04MuonPhysics.hh,v 1.3 2006/06/29 17:36:16 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
// Class Description:
// This class is an derived class of G4VPhysicsConstructor
//
// -------------------------------------------
// History
// first version 12 Nov. 2000 by H.Kurashige
// ------------------------------------------------------------
#ifndef ExN04MuonPhysics_h
#define ExN04MuonPhysics_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VPhysicsConstructor.hh"
#include "G4MultipleScattering.hh"
#include "G4MuBremsstrahlung.hh"
#include "G4MuPairProduction.hh"
#include "G4MuIonisation.hh"
#include "G4hIonisation.hh"
#include "G4MuonMinusCaptureAtRest.hh"
class ExN04MuonPhysics : public G4VPhysicsConstructor
{
public:
ExN04MuonPhysics(const G4String& name="muon");
virtual ~ExN04MuonPhysics();
public:
// This method will be invoked in the Construct() method.
// each particle type will be instantiated
virtual void ConstructParticle();
// This method will be invoked in the Construct() method.
// each physics process will be instantiated and
// registered to the process manager of each particle type
virtual void ConstructProcess();
protected:
// Muon physics
G4MuIonisation fMuPlusIonisation;
G4MultipleScattering fMuPlusMultipleScattering;
G4MuBremsstrahlung fMuPlusBremsstrahlung ;
G4MuPairProduction fMuPlusPairProduction;
G4MuIonisation fMuMinusIonisation;
G4MultipleScattering fMuMinusMultipleScattering;
G4MuBremsstrahlung fMuMinusBremsstrahlung ;
G4MuPairProduction fMuMinusPairProduction;
G4MuonMinusCaptureAtRest fMuMinusCaptureAtRest;
// Tau physics
G4MultipleScattering fTauPlusMultipleScattering;
G4hIonisation fTauPlusIonisation;
G4MultipleScattering fTauMinusMultipleScattering;
G4hIonisation fTauMinusIonisation;
};
#endif
@@ -1,49 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
#ifndef ExN04PhysicsList_h
#define ExN04PhysicsList_h 1
#include "G4VModularPhysicsList.hh"
#include "globals.hh"
class ExN04PhysicsList: public G4VModularPhysicsList
{
public:
ExN04PhysicsList();
virtual ~ExN04PhysicsList();
public:
// SetCuts()
virtual void SetCuts();
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: ExN04RunAction.hh,v 1.2 2006/06/29 17:36:27 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: ExN04RunAction.hh,v 1.3 2006/07/05 13:07:55 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -48,7 +48,6 @@ class ExN04RunAction : public G4UserRunAction
public:
void BeginOfRunAction(const G4Run*);
void EndOfRunAction(const G4Run*);
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -25,7 +25,7 @@
//
//
// $Id: ExN04SteppingVerbose.hh,v 1.2 2006/06/29 17:36:36 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// This class manages the verbose outputs in G4SteppingManager.
// It inherits from G4SteppingVerbose.
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: ParRunManager.hh,v 1.4 2006/06/29 17:36:47 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// --------------------------------------------------------------------
// Parallel Library for Geant4
@@ -76,11 +76,11 @@ G4bool ExN04CalorimeterSD::ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist)
ExN04CalorimeterHit* calHit
= new ExN04CalorimeterHit
(physVol->GetLogicalVolume(),copyIDinZ,copyIDinPhi);
G4RotationMatrix rotM;
if(physVol->GetObjectRotation()) rotM = *(physVol->GetObjectRotation());
calHit->SetEdep( edep );
calHit->SetPos( physVol->GetTranslation() );
calHit->SetRot( rotM );
G4AffineTransform aTrans = ROhist->GetHistory()->GetTopTransform();
aTrans.Invert();
calHit->SetPos(aTrans.NetTranslation());
calHit->SetRot(aTrans.NetRotation());
G4int icell = CalCollection->insert( calHit );
CellID[copyIDinZ][copyIDinPhi] = icell - 1;
if(verboseLevel>0)
@@ -1,104 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: ExN04EMPhysics.cc,v 1.4 2006/06/29 17:37:03 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
#include "ExN04EMPhysics.hh"
#include "globals.hh"
#include "G4ios.hh"
#include <iomanip>
ExN04EMPhysics::ExN04EMPhysics(const G4String& name)
: G4VPhysicsConstructor(name)
{
}
ExN04EMPhysics::~ExN04EMPhysics()
{
}
#include "G4ParticleDefinition.hh"
#include "G4ParticleTable.hh"
#include "G4Gamma.hh"
#include "G4Electron.hh"
#include "G4Positron.hh"
#include "G4NeutrinoE.hh"
#include "G4AntiNeutrinoE.hh"
void ExN04EMPhysics::ConstructParticle()
{
// gamma
G4Gamma::GammaDefinition();
// electron
G4Electron::ElectronDefinition();
G4Positron::PositronDefinition();
G4NeutrinoE::NeutrinoEDefinition();
G4AntiNeutrinoE::AntiNeutrinoEDefinition();
}
#include "G4ProcessManager.hh"
void ExN04EMPhysics::ConstructProcess()
{
G4ProcessManager * pManager = 0;
// Gamma Physics
pManager = G4Gamma::Gamma()->GetProcessManager();
pManager->AddDiscreteProcess(&thePhotoEffect);
pManager->AddDiscreteProcess(&theComptonEffect);
pManager->AddDiscreteProcess(&thePairProduction);
// Electron Physics
pManager = G4Electron::Electron()->GetProcessManager();
pManager->AddProcess(&theElectronMultipleScattering, -1, 1, 1);
pManager->AddProcess(&theElectronIonisation, -1, 2, 2);
pManager->AddProcess(&theElectronBremsStrahlung, -1, 3, 3);
//Positron Physics
pManager = G4Positron::Positron()->GetProcessManager();
pManager->AddProcess(&thePositronMultipleScattering, -1, 1, 1);
pManager->AddProcess(&thePositronIonisation, -1, 2, 2);
pManager->AddProcess(&thePositronBremsStrahlung, -1, 3, 3);
pManager->AddProcess(&theAnnihilation, 0,-1, 4);
}
@@ -67,24 +67,6 @@ void ExN04EventAction::EndOfEventAction(const G4Event* evt)
{
G4cout << ">>> Event " << evt->GetEventID() << G4endl;
// get number of stored trajectories
//
G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer();
G4int n_trajectories = 0;
if (trajectoryContainer) n_trajectories = trajectoryContainer->entries();
// extract the trajectories and draw them
//
if (G4VVisManager::GetConcreteInstance())
{
for (G4int i=0; i<n_trajectories; i++)
{ G4Trajectory* trj = (G4Trajectory*)
((*(evt->GetTrajectoryContainer()))[i]);
trj->DrawTrajectory(50);
}
}
if(trackerCollID<0||calorimeterCollID<0||muonCollID<0) return;
G4HCofThisEvent * HCE = evt->GetHCofThisEvent();
@@ -1,76 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: ExN04GeneralPhysics.cc,v 1.3 2006/06/29 17:37:09 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
#include "ExN04GeneralPhysics.hh"
#include "globals.hh"
#include "G4ios.hh"
#include <iomanip>
ExN04GeneralPhysics::ExN04GeneralPhysics(const G4String& name)
: G4VPhysicsConstructor(name)
{
}
ExN04GeneralPhysics::~ExN04GeneralPhysics()
{
}
#include "G4ParticleDefinition.hh"
#include "G4ProcessManager.hh"
// Bosons
#include "G4ChargedGeantino.hh"
#include "G4Geantino.hh"
void ExN04GeneralPhysics::ConstructParticle()
{
// pseudo-particles
G4Geantino::GeantinoDefinition();
G4ChargedGeantino::ChargedGeantinoDefinition();
}
void ExN04GeneralPhysics::ConstructProcess()
{
// Add Decay Process
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
if (fDecayProcess.IsApplicable(*particle)) {
pmanager ->AddProcess(&fDecayProcess);
// set ordering for PostStepDoIt and AtRestDoIt
pmanager ->SetProcessOrdering(&fDecayProcess, idxPostStep);
pmanager ->SetProcessOrdering(&fDecayProcess, idxAtRest);
}
}
}
@@ -1,441 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: ExN04HadronPhysics.cc,v 1.4 2006/06/29 17:37:11 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
#include "ExN04HadronPhysics.hh"
#include "globals.hh"
#include "G4ios.hh"
#include <iomanip>
ExN04HadronPhysics::ExN04HadronPhysics(const G4String& name)
: G4VPhysicsConstructor(name)
{
}
ExN04HadronPhysics::~ExN04HadronPhysics()
{
delete theStringDecay;
}
#include "G4ParticleDefinition.hh"
#include "G4ParticleTable.hh"
// Nuclei
#include "G4MesonConstructor.hh"
#include "G4BaryonConstructor.hh"
#include "G4ShortLivedConstructor.hh"
void ExN04HadronPhysics::ConstructParticle()
{
// Construct all mesons
G4MesonConstructor pMesonConstructor;
pMesonConstructor.ConstructParticle();
// Construct all barions
G4BaryonConstructor pBaryonConstructor;
pBaryonConstructor.ConstructParticle();
// Construct resonaces and quarks
G4ShortLivedConstructor pShortLivedConstructor;
pShortLivedConstructor.ConstructParticle();
}
#include "G4ProcessManager.hh"
void ExN04HadronPhysics::ConstructProcess()
{
G4ProcessManager * pManager = 0;
G4cout << "" << G4endl;
G4cout << "You are using the ExN04HadronPhysics" << G4endl;
G4cout << " - Note that this hadronic physics list is not optimized for any particular usage" << G4endl;
G4cout << " - If you wish to have a starting point tailored for a particular area of work," << G4endl;
G4cout << " please use one of the available physics lists by use-case." << G4endl;
G4cout << " More information can also be found from the Geant4 HyperNews." << G4endl;
G4cout << "" << G4endl;
// Elastic Process
theElasticModel = new G4LElastic();
theElasticProcess.RegisterMe(theElasticModel);
// pi+ and pi-
thePreEquilib = new G4PreCompoundModel(&theHandler);
theCascade.SetDeExcitation(thePreEquilib);
theTheoModel.SetTransport(&theCascade);
theTheoModel.SetHighEnergyGenerator(&theStringModel);
theStringDecay = new G4ExcitedStringDecay(&theFragmentation);
theStringModel.SetFragmentationModel(theStringDecay);
theTheoModel.SetMinEnergy(15*GeV);
theTheoModel.SetMaxEnergy(100*TeV);
// PionPlus
pManager = G4PionPlus::PionPlus()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEPionPlusModel = new G4LEPionPlusInelastic();
thePionPlusInelastic.RegisterMe(theLEPionPlusModel);
thePionPlusInelastic.RegisterMe(&theTheoModel);
pManager->AddDiscreteProcess(&thePionPlusInelastic);
pManager->AddProcess(&thePionPlusIonisation, ordInActive,2, 2);
pManager->AddProcess(&thePionPlusMult);
pManager->SetProcessOrdering(&thePionPlusMult, idxAlongStep, 1);
pManager->SetProcessOrdering(&thePionPlusMult, idxPostStep, 1);
// PionMinus
pManager = G4PionMinus::PionMinus()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEPionMinusModel = new G4LEPionMinusInelastic();
thePionMinusInelastic.RegisterMe(theLEPionMinusModel);
thePionMinusInelastic.RegisterMe(&theTheoModel);
pManager->AddDiscreteProcess(&thePionMinusInelastic);
pManager->AddProcess(&thePionMinusIonisation, ordInActive,2, 2);
pManager->AddProcess(&thePionMinusMult);
pManager->SetProcessOrdering(&thePionMinusMult, idxAlongStep, 1);
pManager->SetProcessOrdering(&thePionMinusMult, idxPostStep, 1);
pManager->AddRestProcess(&thePionMinusAbsorption, ordDefault);
// KaonPlus
pManager = G4KaonPlus::KaonPlus()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEKaonPlusModel = new G4LEKaonPlusInelastic();
theHEKaonPlusModel = new G4HEKaonPlusInelastic();
theKaonPlusInelastic.RegisterMe(theLEKaonPlusModel);
theKaonPlusInelastic.RegisterMe(&theTheoModel);
pManager->AddDiscreteProcess(&theKaonPlusInelastic);
pManager->AddProcess(&theKaonPlusIonisation, ordInActive,2, 2);
pManager->AddProcess(&theKaonPlusMult);
pManager->SetProcessOrdering(&theKaonPlusMult, idxAlongStep, 1);
pManager->SetProcessOrdering(&theKaonPlusMult, idxPostStep, 1);
// KaonMinus
pManager = G4KaonMinus::KaonMinus()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEKaonMinusModel = new G4LEKaonMinusInelastic();
theHEKaonMinusModel = new G4HEKaonMinusInelastic();
theKaonMinusInelastic.RegisterMe(theLEKaonMinusModel);
theKaonMinusInelastic.RegisterMe(theHEKaonMinusModel);
pManager->AddDiscreteProcess(&theKaonMinusInelastic);
pManager->AddProcess(&theKaonMinusIonisation, ordInActive,2, 2);
pManager->AddProcess(&theKaonMinusMult);
pManager->SetProcessOrdering(&theKaonMinusMult, idxAlongStep, 1);
pManager->SetProcessOrdering(&theKaonMinusMult, idxPostStep, 1);
pManager->AddRestProcess(&theKaonMinusAbsorption, ordDefault);
// KaonZeroL
pManager = G4KaonZeroLong::KaonZeroLong()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEKaonZeroLModel = new G4LEKaonZeroLInelastic();
theHEKaonZeroLModel = new G4HEKaonZeroInelastic();
theKaonZeroLInelastic.RegisterMe(theLEKaonZeroLModel);
theKaonZeroLInelastic.RegisterMe(theHEKaonZeroLModel);
pManager->AddDiscreteProcess(&theKaonZeroLInelastic);
// KaonZeroS
pManager = G4KaonZeroShort::KaonZeroShort()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEKaonZeroSModel = new G4LEKaonZeroSInelastic();
theHEKaonZeroSModel = new G4HEKaonZeroInelastic();
theKaonZeroSInelastic.RegisterMe(theLEKaonZeroSModel);
theKaonZeroSInelastic.RegisterMe(theHEKaonZeroSModel);
pManager->AddDiscreteProcess(&theKaonZeroSInelastic);
// Proton
pManager = G4Proton::Proton()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEProtonModel = new G4LEProtonInelastic();
theHEProtonModel = new G4HEProtonInelastic();
theProtonInelastic.RegisterMe(theLEProtonModel);
theProtonInelastic.RegisterMe(&theTheoModel);
pManager->AddDiscreteProcess(&theProtonInelastic);
pManager->AddProcess(&theProtonIonisation, ordInActive,2, 2);
pManager->AddProcess(&theProtonMult);
pManager->SetProcessOrdering(&theProtonMult, idxAlongStep, 1);
pManager->SetProcessOrdering(&theProtonMult, idxPostStep, 1);
// anti-Proton
pManager = G4AntiProton::AntiProton()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEAntiProtonModel = new G4LEAntiProtonInelastic();
theHEAntiProtonModel = new G4HEAntiProtonInelastic();
theAntiProtonInelastic.RegisterMe(theLEAntiProtonModel);
theAntiProtonInelastic.RegisterMe(theHEAntiProtonModel);
pManager->AddDiscreteProcess(&theAntiProtonInelastic);
pManager->AddProcess(&theAntiProtonIonisation, ordInActive,2, 2);
pManager->AddProcess(&theAntiProtonMult);
pManager->SetProcessOrdering(&theAntiProtonMult, idxAlongStep, 1);
pManager->SetProcessOrdering(&theAntiProtonMult, idxPostStep, 1);
pManager->AddRestProcess(&theAntiProtonAnnihilation);
// Neutron
pManager = G4Neutron::Neutron()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLENeutronModel = new G4LENeutronInelastic();
theHENeutronModel = new G4HENeutronInelastic();
theNeutronInelastic.RegisterMe(theLENeutronModel);
theNeutronInelastic.RegisterMe(&theTheoModel);
pManager->AddDiscreteProcess(&theNeutronInelastic);
theNeutronFissionModel = new G4LFission();
theNeutronFission.RegisterMe(theNeutronFissionModel);
pManager->AddDiscreteProcess(&theNeutronFission);
theNeutronCaptureModel = new G4LCapture();
theNeutronCapture.RegisterMe(theNeutronCaptureModel);
pManager->AddDiscreteProcess(&theNeutronCapture);
// AntiNeutron
pManager = G4AntiNeutron::AntiNeutron()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEAntiNeutronModel = new G4LEAntiNeutronInelastic();
theHEAntiNeutronModel = new G4HEAntiNeutronInelastic();
theAntiNeutronInelastic.RegisterMe(theLEAntiNeutronModel);
theAntiNeutronInelastic.RegisterMe(theHEAntiNeutronModel);
pManager->AddDiscreteProcess(&theAntiNeutronInelastic);
pManager->AddRestProcess(&theAntiNeutronAnnihilation);
// Lambda
pManager = G4Lambda::Lambda()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLELambdaModel = new G4LELambdaInelastic();
theHELambdaModel = new G4HELambdaInelastic();
theLambdaInelastic.RegisterMe(theLELambdaModel);
theLambdaInelastic.RegisterMe(theHELambdaModel);
pManager->AddDiscreteProcess(&theLambdaInelastic);
// AntiLambda
pManager = G4AntiLambda::AntiLambda()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEAntiLambdaModel = new G4LEAntiLambdaInelastic();
theHEAntiLambdaModel = new G4HEAntiLambdaInelastic();
theAntiLambdaInelastic.RegisterMe(theLEAntiLambdaModel);
theAntiLambdaInelastic.RegisterMe(theHEAntiLambdaModel);
pManager->AddDiscreteProcess(&theAntiLambdaInelastic);
// SigmaMinus
pManager = G4SigmaMinus::SigmaMinus()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLESigmaMinusModel = new G4LESigmaMinusInelastic();
theHESigmaMinusModel = new G4HESigmaMinusInelastic();
theSigmaMinusInelastic.RegisterMe(theLESigmaMinusModel);
theSigmaMinusInelastic.RegisterMe(theHESigmaMinusModel);
pManager->AddDiscreteProcess(&theSigmaMinusInelastic);
pManager->AddProcess(&theSigmaMinusIonisation, ordInActive,2, 2);
pManager->AddProcess(&theSigmaMinusMult);
pManager->SetProcessOrdering(&theSigmaMinusMult, idxAlongStep, 1);
pManager->SetProcessOrdering(&theSigmaMinusMult, idxPostStep, 1);
// anti-SigmaMinus
pManager = G4AntiSigmaMinus::AntiSigmaMinus()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEAntiSigmaMinusModel = new G4LEAntiSigmaMinusInelastic();
theHEAntiSigmaMinusModel = new G4HEAntiSigmaMinusInelastic();
theAntiSigmaMinusInelastic.RegisterMe(theLEAntiSigmaMinusModel);
theAntiSigmaMinusInelastic.RegisterMe(theHEAntiSigmaMinusModel);
pManager->AddDiscreteProcess(&theAntiSigmaMinusInelastic);
pManager->AddProcess(&theAntiSigmaMinusIonisation, ordInActive,2, 2);
pManager->AddProcess(&theAntiSigmaMinusMult);
pManager->SetProcessOrdering(&theAntiSigmaMinusMult, idxAlongStep, 1);
pManager->SetProcessOrdering(&theAntiSigmaMinusMult, idxPostStep, 1);
// SigmaPlus
pManager = G4SigmaPlus::SigmaPlus()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLESigmaPlusModel = new G4LESigmaPlusInelastic();
theHESigmaPlusModel = new G4HESigmaPlusInelastic();
theSigmaPlusInelastic.RegisterMe(theLESigmaPlusModel);
theSigmaPlusInelastic.RegisterMe(theHESigmaPlusModel);
pManager->AddDiscreteProcess(&theSigmaPlusInelastic);
pManager->AddProcess(&theSigmaPlusIonisation, ordInActive,2, 2);
pManager->AddProcess(&theSigmaPlusMult);
pManager->SetProcessOrdering(&theSigmaPlusMult, idxAlongStep, 1);
pManager->SetProcessOrdering(&theSigmaPlusMult, idxPostStep, 1);
// anti-SigmaPlus
pManager = G4AntiSigmaPlus::AntiSigmaPlus()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEAntiSigmaPlusModel = new G4LEAntiSigmaPlusInelastic();
theHEAntiSigmaPlusModel = new G4HEAntiSigmaPlusInelastic();
theAntiSigmaPlusInelastic.RegisterMe(theLEAntiSigmaPlusModel);
theAntiSigmaPlusInelastic.RegisterMe(theHEAntiSigmaPlusModel);
pManager->AddDiscreteProcess(&theAntiSigmaPlusInelastic);
pManager->AddProcess(&theAntiSigmaPlusIonisation, ordInActive,2, 2);
pManager->AddProcess(&theAntiSigmaPlusMult);
pManager->SetProcessOrdering(&theAntiSigmaPlusMult, idxAlongStep, 1);
pManager->SetProcessOrdering(&theAntiSigmaPlusMult, idxPostStep, 1);
// XiMinus
pManager = G4XiMinus::XiMinus()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEXiMinusModel = new G4LEXiMinusInelastic();
theHEXiMinusModel = new G4HEXiMinusInelastic();
theXiMinusInelastic.RegisterMe(theLEXiMinusModel);
theXiMinusInelastic.RegisterMe(theHEXiMinusModel);
pManager->AddDiscreteProcess(&theXiMinusInelastic);
pManager->AddProcess(&theXiMinusIonisation, ordInActive,2, 2);
pManager->AddProcess(&theXiMinusMult);
pManager->SetProcessOrdering(&theXiMinusMult, idxAlongStep, 1);
pManager->SetProcessOrdering(&theXiMinusMult, idxPostStep, 1);
// anti-XiMinus
pManager = G4AntiXiMinus::AntiXiMinus()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEAntiXiMinusModel = new G4LEAntiXiMinusInelastic();
theHEAntiXiMinusModel = new G4HEAntiXiMinusInelastic();
theAntiXiMinusInelastic.RegisterMe(theLEAntiXiMinusModel);
theAntiXiMinusInelastic.RegisterMe(theHEAntiXiMinusModel);
pManager->AddDiscreteProcess(&theAntiXiMinusInelastic);
pManager->AddProcess(&theAntiXiMinusIonisation, ordInActive,2, 2);
pManager->AddProcess(&theAntiXiMinusMult);
pManager->SetProcessOrdering(&theAntiXiMinusMult, idxAlongStep, 1);
pManager->SetProcessOrdering(&theAntiXiMinusMult, idxPostStep, 1);
// XiZero
pManager = G4XiZero::XiZero()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEXiZeroModel = new G4LEXiZeroInelastic();
theHEXiZeroModel = new G4HEXiZeroInelastic();
theXiZeroInelastic.RegisterMe(theLEXiZeroModel);
theXiZeroInelastic.RegisterMe(theHEXiZeroModel);
pManager->AddDiscreteProcess(&theXiZeroInelastic);
// anti-XiZero
pManager = G4AntiXiZero::AntiXiZero()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEAntiXiZeroModel = new G4LEAntiXiZeroInelastic();
theHEAntiXiZeroModel = new G4HEAntiXiZeroInelastic();
theAntiXiZeroInelastic.RegisterMe(theLEAntiXiZeroModel);
theAntiXiZeroInelastic.RegisterMe(theHEAntiXiZeroModel);
pManager->AddDiscreteProcess(&theAntiXiZeroInelastic);
// OmegaMinus
pManager = G4OmegaMinus::OmegaMinus()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEOmegaMinusModel = new G4LEOmegaMinusInelastic();
theHEOmegaMinusModel = new G4HEOmegaMinusInelastic();
theOmegaMinusInelastic.RegisterMe(theLEOmegaMinusModel);
theOmegaMinusInelastic.RegisterMe(theHEOmegaMinusModel);
pManager->AddDiscreteProcess(&theOmegaMinusInelastic);
pManager->AddProcess(&theOmegaMinusIonisation, ordInActive,2, 2);
pManager->AddProcess(&theOmegaMinusMult);
pManager->SetProcessOrdering(&theOmegaMinusMult, idxAlongStep, 1);
pManager->SetProcessOrdering(&theOmegaMinusMult, idxPostStep, 1);
// anti-OmegaMinus
pManager = G4AntiOmegaMinus::AntiOmegaMinus()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEAntiOmegaMinusModel = new G4LEAntiOmegaMinusInelastic();
theHEAntiOmegaMinusModel = new G4HEAntiOmegaMinusInelastic();
theAntiOmegaMinusInelastic.RegisterMe(theLEAntiOmegaMinusModel);
theAntiOmegaMinusInelastic.RegisterMe(theHEAntiOmegaMinusModel);
pManager->AddDiscreteProcess(&theAntiOmegaMinusInelastic);
pManager->AddProcess(&theAntiOmegaMinusIonisation, ordInActive,2, 2);
pManager->AddProcess(&theAntiOmegaMinusMult);
pManager->SetProcessOrdering(&theAntiOmegaMinusMult, idxAlongStep, 1);
pManager->SetProcessOrdering(&theAntiOmegaMinusMult, idxPostStep, 1);
}
@@ -1,129 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: ExN04IonPhysics.cc,v 1.4 2006/06/29 17:37:13 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
#include "ExN04IonPhysics.hh"
#include "globals.hh"
#include "G4ios.hh"
#include <iomanip>
ExN04IonPhysics::ExN04IonPhysics(const G4String& name)
: G4VPhysicsConstructor(name)
{
}
ExN04IonPhysics::~ExN04IonPhysics()
{
}
#include "G4ParticleDefinition.hh"
#include "G4ParticleTable.hh"
// Nuclei
#include "G4IonConstructor.hh"
void ExN04IonPhysics::ConstructParticle()
{
// Construct light ions
G4IonConstructor pConstructor;
pConstructor.ConstructParticle();
}
#include "G4ProcessManager.hh"
void ExN04IonPhysics::ConstructProcess()
{
G4ProcessManager * pManager = 0;
// Elastic Process
theElasticModel = new G4LElastic();
theElasticProcess.RegisterMe(theElasticModel);
// Generic Ion
pManager = G4GenericIon::GenericIon()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
pManager->AddProcess(&fIonMultipleScattering, -1, 1, 1);
pManager->AddProcess(&fIonIonisation, -1, 2, 2);
// Deuteron
pManager = G4Deuteron::Deuteron()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
fDeuteronModel = new G4LEDeuteronInelastic();
fDeuteronProcess.RegisterMe(fDeuteronModel);
pManager->AddDiscreteProcess(&fDeuteronProcess);
pManager->AddProcess(&fDeuteronMultipleScattering, -1, 1, 1);
pManager->AddProcess(&fDeuteronIonisation, -1, 2, 2);
// Triton
pManager = G4Triton::Triton()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
fTritonModel = new G4LETritonInelastic();
fTritonProcess.RegisterMe(fTritonModel);
pManager->AddDiscreteProcess(&fTritonProcess);
pManager->AddProcess(&fTritonMultipleScattering, -1, 1, 1);
pManager->AddProcess(&fTritonIonisation, -1, 2, 2);
// Alpha
pManager = G4Alpha::Alpha()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
fAlphaModel = new G4LEAlphaInelastic();
fAlphaProcess.RegisterMe(fAlphaModel);
pManager->AddDiscreteProcess(&fAlphaProcess);
pManager->AddProcess(&fAlphaMultipleScattering, -1, 1, 1);
pManager->AddProcess(&fAlphaIonisation, -1, 2, 2);
// He3
pManager = G4He3::He3()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
pManager->AddProcess(&fHe3MultipleScattering, -1, 1, 1);
pManager->AddProcess(&fHe3Ionisation, -1, 2, 2);
}
@@ -1,117 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: ExN04MuonPhysics.cc,v 1.4 2006/06/29 17:37:17 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
#include "ExN04MuonPhysics.hh"
#include "globals.hh"
#include "G4ios.hh"
#include <iomanip>
ExN04MuonPhysics::ExN04MuonPhysics(const G4String& name)
: G4VPhysicsConstructor(name)
{
}
ExN04MuonPhysics::~ExN04MuonPhysics()
{
}
#include "G4ParticleDefinition.hh"
#include "G4ParticleTable.hh"
#include "G4MuonPlus.hh"
#include "G4MuonMinus.hh"
#include "G4TauMinus.hh"
#include "G4TauPlus.hh"
#include "G4NeutrinoTau.hh"
#include "G4AntiNeutrinoTau.hh"
#include "G4NeutrinoMu.hh"
#include "G4AntiNeutrinoMu.hh"
void ExN04MuonPhysics::ConstructParticle()
{
// Mu
G4MuonPlus::MuonPlusDefinition();
G4MuonMinus::MuonMinusDefinition();
G4NeutrinoMu::NeutrinoMuDefinition();
G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
// Tau
G4TauMinus::TauMinusDefinition();
G4TauPlus::TauPlusDefinition();
G4NeutrinoTau::NeutrinoTauDefinition();
G4AntiNeutrinoTau::AntiNeutrinoTauDefinition();
}
#include "G4ProcessManager.hh"
void ExN04MuonPhysics::ConstructProcess()
{
G4ProcessManager * pManager = 0;
// Muon Plus Physics
pManager = G4MuonPlus::MuonPlus()->GetProcessManager();
pManager->AddProcess(&fMuPlusMultipleScattering,-1, 1, 1);
pManager->AddProcess(&fMuPlusIonisation, -1, 2, 2);
pManager->AddProcess(&fMuPlusBremsstrahlung, -1, 3, 3);
pManager->AddProcess(&fMuPlusPairProduction, -1, 4, 4);
// Muon Minus Physics
pManager = G4MuonMinus::MuonMinus()->GetProcessManager();
pManager->AddProcess(&fMuMinusMultipleScattering,-1, 1, 1);
pManager->AddProcess(&fMuMinusIonisation, -1, 2, 2);
pManager->AddProcess(&fMuMinusBremsstrahlung, -1, 3, 3);
pManager->AddProcess(&fMuMinusPairProduction, -1, 4, 4);
pManager->AddRestProcess(&fMuMinusCaptureAtRest);
// Tau Plus Physics
pManager = G4TauPlus::TauPlus()->GetProcessManager();
pManager->AddProcess(&fTauPlusMultipleScattering, -1, 1, 1);
pManager->AddProcess(&fTauPlusIonisation, -1, 2, 2);
// Tau Minus Physics
pManager = G4TauMinus::TauMinus()->GetProcessManager();
pManager->AddProcess(&fTauMinusMultipleScattering, -1, 1, 1);
pManager->AddProcess(&fTauMinusIonisation, -1, 2, 2);
}
@@ -1,88 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: ExN04PhysicsList.cc,v 1.4 2006/06/29 17:37:22 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
#include "ExN04PhysicsList.hh"
#include "globals.hh"
#include "G4ParticleDefinition.hh"
#include "G4ProcessManager.hh"
#include "G4ProcessVector.hh"
#include "G4ParticleTypes.hh"
#include "G4ParticleTable.hh"
#include "G4Material.hh"
#include "G4MaterialTable.hh"
#include "G4ios.hh"
#include <iomanip>
#include "ExN04GeneralPhysics.hh"
#include "ExN04EMPhysics.hh"
#include "ExN04MuonPhysics.hh"
#include "ExN04HadronPhysics.hh"
#include "ExN04IonPhysics.hh"
ExN04PhysicsList::ExN04PhysicsList(): G4VModularPhysicsList()
{
// default cut value (1.0mm)
defaultCutValue = 1.0*mm;
// SetVerboseLevel(1);
// General Physics
RegisterPhysics( new ExN04GeneralPhysics("general") );
// EM Physics
RegisterPhysics( new ExN04EMPhysics("standard EM"));
// Muon Physics
RegisterPhysics( new ExN04MuonPhysics("muon"));
// Hadron Physics
RegisterPhysics( new ExN04HadronPhysics("hadron"));
// Ion Physics
RegisterPhysics( new ExN04IonPhysics("ion"));
}
ExN04PhysicsList::~ExN04PhysicsList()
{
}
void ExN04PhysicsList::SetCuts()
{
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
SetCutsWithDefault();
}

Some files were not shown because too many files have changed in this diff Show More