Import Geant4 8.2.0 source tree
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user