Import Geant4 7.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 12:11:21 +02:00
parent 516dbf1a58
commit d93e1e39a9
5384 changed files with 125662 additions and 82444 deletions
@@ -1,4 +1,4 @@
$Id: History,v 1.11 2004/12/06 12:02:41 maire Exp $
$Id: History,v 1.16 2005/06/01 13:58:22 maire Exp $
-------------------------------------------------------------------
=========================================================
@@ -15,6 +15,19 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
01-06-05 mma (muonprocesses-V07-00-01)
- HistoManager : option "--noErrors" for hbook
3rd May 2005 John Allison (examples-V07-00-03)
- Replaced vis manager with G4VisExecutive.
03-03-05 mma (muonprocesses-V07-00-00)
- HistoManager : - put a protection for the creation of analysis factory;
- file extension is fileType;
06.12.04 V.Ivant (muonprocesses-V06-02-10)
- Use PhysicsList from future 7.0
05.12.04 mma (muonprocesses-V06-02-09)
- namespace std in MuCrossSections
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: MuonProcesses.cc,v 1.2 2004/06/30 15:48:55 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// $Id: MuonProcesses.cc,v 1.3 2005/05/03 10:21:16 allison Exp $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -45,7 +45,7 @@
#include "HistoManager.hh"
#ifdef G4VIS_USE
#include "VisManager.hh"
#include "G4VisExecutive.hh"
#endif
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -70,7 +70,7 @@ int main(int argc,char** argv) {
#ifdef G4VIS_USE
// visualization manager
G4VisManager* visManager = new VisManager;
G4VisManager* visManager = new G4VisExecutive;
visManager->Initialize();
#endif
@@ -1,6 +1,6 @@
*************************************************************
Geant4 version $Name: geant4-07-00-cand-01 $ (27-July-2004)
Geant4 version $Name: geant4-07-01 $ (27-July-2004)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
@@ -1,4 +1,4 @@
$Id: README,v 1.2 2004/06/23 11:28:04 maire Exp $
$Id: README,v 1.3 2005/03/03 16:50:35 maire Exp $
-------------------------------------------------------------------
=========================================================
@@ -73,11 +73,13 @@ $Id: README,v 1.2 2004/06/23 11:28:04 maire Exp $
At EndOfRun the corresponding histos for analytic calculations are
automatically created anf filled (histo 6 to 9), and the comparison
(G4 divided by theory) is done in histos 11 to 14.
The histograms can be viewed using PAW. See below the note on
ANAPHE+AIDA.
(G4 divided by theory) is done in histos 11 to 14.
One can control the name and the type of the histograms file with
the commands:
/testem/histo/setFileName name (default photonprocesses)
/testem/histo/setFileType name (default hbook)
Note that, by default, histograms are disabled. To activate them,
uncomment the flag G4ANALYSIS_USE in GNUmakefile.
@@ -110,40 +112,60 @@ $Id: README,v 1.2 2004/06/23 11:28:04 maire Exp $
....
Idle> exit
8- Using histograms
-------------------
8- USING HISTOGRAMS
By default the histograms are not activated. To activate histograms
the environment variable G4ANALYSIS_USE should be defined. For instance
uncomment the flag G4ANALYSIS_USE in GNUmakefile.
Before compilation of the example it is optimal to clean up old files:
gmake histclean
gmake
To use histograms, at least one of the AIDA implementations should be
available (see http://aida.freehep.org).
8a - PI
By default the histograms are not activated. To activate histograms
the environment variable G4ANALYSIS_USE should be defined. For instance
uncomment the flag G4ANALYSIS_USE in GNUmakefile.
A package including AIDA and extended interfaces also using Python is PI,
available from: http://cern.ch/pi
To use histograms any of implementations of AIDA interfaces should
be available (see http://aida.freehep.org).
Once installed PI or PI-Lite in a specified local area $MYPY, it is required
to add the installation path to $PATH, i.e. for example, for release 1.2.1 of
PI:
setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
A package including AIDA and extended interfaces also using Python
is PI, available from: http://cern.ch/pi .
CERN users can use the PATH to the LCG area on AFS.
Before running the example the command should be issued:
eval `aida-config --runtime csh`
Once installed PI or PI-Lite in a specified local area $MYPY, it is
required to add the installation path to $PATH, i.e. for example,
for release 1.2.1 of PI:
8b - OpenScientist
OpenScientist is available at http://www.lal.in2p3.fr/OpenScientist
In OpenScientist, the AIDA implementation is the Lab package.
You have to "setup" this package before compiling (then with G4ANALYSIS_USE)
and running your Geant4 application.
On UNIX you setup, with a csh flavoured shell :
csh> setenv CMTPATH <OpenScientist install path>
csh> source <OpenScientist install path>/Lab/<version>/cmt/setup.csh
On UNIX with a sh flavoured shell :
sh> CMTPATH=<OpenScientist install path>;export CMTPATH
sh> . <OpenScientist install path>/Lab/<version>/cmt/setup.sh
On Windows :
DOS> set CMTPATH=<OpenScientist install path>
DOS> call <OpenScientist install path>/Lab/<version>/cmt/setup.bat
setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
You have to use the XML or root file formats ; producing hbook files is not
supported by OpenScientist/Lab. But the three formats (hbook, AIDA-XML, root)
are readable by the interactive applications ; the Lab onx interactive
program or the OpenPAW program.
CERN users can use the PATH to the LCG area on AFS.
Before compilation of the example it is optimal to clean up old
files:
gmake histclean
gmake
Before running the example the command should be issued:
eval `aida-config --runtime csh`
It is possible to choose the format of the output file with
histograms using UI command:
/testem/histo/setFileType type
The following types are available: hbook, root, xml.
With OpenPAW, someone can view the histograms with :
OS> opaw
opaw> h/file 1 run0.aida (or opaw> h/file 1 run1.root)
opaw> zone 2 2
opaw> h/plot 1
opaw> h/plot 2
opaw> h/plot 3
@@ -1,4 +1,4 @@
# $Id: allproc.mac,v 1.2 2004/07/27 10:13:16 maire Exp $
# $Id: allproc.mac,v 1.3 2005/03/03 16:50:35 maire Exp $
#
# Macro file for "MuonProcesses.cc"
# (can be run in batch, without graphic)
@@ -18,7 +18,8 @@
/gun/particle mu+
/gun/energy 10 TeV
#
/testem/histo/setFileName allproc.paw
/testem/histo/setFileName allproc
/testem/histo/setFileType hbook
/testem/histo/setHisto 1 100 -10. 0.
/testem/histo/setHisto 2 100 -10. 0.
/testem/histo/setHisto 3 100 -10. 0.
@@ -1,4 +1,4 @@
# $Id: brem.mac,v 1.2 2004/11/03 12:42:46 maire Exp $
# $Id: brem.mac,v 1.3 2005/03/03 16:50:35 maire Exp $
#
# Macro file for "MuonProcesses.cc"
# (can be run in batch, without graphic)
@@ -22,7 +22,8 @@
/gun/particle mu+
/gun/energy 10 TeV
#
/testem/histo/setFileName brem.paw
/testem/histo/setFileName brem
/testem/histo/setFileType hbook
/testem/histo/setHisto 3 100 -10. 0.
#
/testem/event/printModulo 1000
@@ -22,7 +22,7 @@
//
//
// $Id: DetectorConstruction.hh,v 1.1 2004/06/14 10:09:22 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: DetectorMessenger.hh,v 1.1 2004/06/14 10:09:22 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: EventAction.hh,v 1.1 2004/06/14 10:09:22 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: EventActionMessenger.hh,v 1.1 2004/06/14 10:09:22 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -20,8 +20,8 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: HistoManager.hh,v 1.3 2004/11/03 12:43:00 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// $Id: HistoManager.hh,v 1.4 2005/03/03 16:50:35 maire Exp $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -53,8 +53,9 @@ class HistoManager
HistoManager();
~HistoManager();
void SetFileName (const G4String& name) { fileName = name;};
void SetFileType (const G4String& name) { fileType = name;};
void SetFileName (const G4String& name) { fileName[0] = name;};
void SetFileType (const G4String& name) { fileType = name;};
void SetFileOption (const G4String& name) { fileType = name;};
void book();
void save();
void SetHisto (G4int,G4int,G4double,G4double,const G4String& unit="none");
@@ -74,8 +75,9 @@ class HistoManager
private:
G4String fileName;
G4String fileName[2];
G4String fileType;
G4String fileOption;
AIDA::IAnalysisFactory* af;
AIDA::ITree* tree;
AIDA::IHistogramFactory* hf;
@@ -20,8 +20,8 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: HistoMessenger.hh,v 1.2 2004/06/30 15:48:56 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// $Id: HistoMessenger.hh,v 1.3 2005/03/03 16:50:35 maire Exp $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -58,6 +58,7 @@ class HistoMessenger: public G4UImessenger
G4UIdirectory* histoDir;
G4UIcmdWithAString* factoryCmd;
G4UIcmdWithAString* typeCmd;
G4UIcmdWithAString* optionCmd;
G4UIcommand* histoCmd;
G4UIcmdWithAnInteger* rmhistoCmd;
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: MuCrossSections.hh,v 1.2 2004/08/27 11:06:23 vnivanch Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: MuNuclearBuilder.hh,v 1.1 2004/08/17 18:07:28 vnivanch Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: PhysListEmG4v52.hh,v 1.1 2004/06/14 10:09:22 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: PhysListEmStandard.hh,v 1.1 2004/06/14 10:09:23 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: PhysicsList.hh,v 1.2 2004/08/17 18:07:28 vnivanch Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: PhysicsListMessenger.hh,v 1.1 2004/06/14 10:09:23 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: PrimaryGeneratorAction.hh,v 1.1 2004/06/14 10:09:23 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: ProcessesCount.hh,v 1.1 2004/06/14 10:09:23 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: RunAction.hh,v 1.1 2004/06/14 10:09:23 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: StackingAction.hh,v 1.2 2004/12/15 15:41:05 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-ref-00 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: SteppingAction.hh,v 1.1 2004/06/14 10:09:23 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: SteppingVerbose.hh,v 1.1 2004/06/14 10:09:24 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
// This class manages the verbose outputs in G4SteppingManager.
// It inherits from G4SteppingVerbose.
@@ -1,65 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * 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. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: VisManager.hh,v 1.1 2004/06/14 10:09:24 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
// Example Visualization Manager implementing virtual function
// RegisterGraphicsSystems. Exploits C-pre-processor variables
// G4VIS_USE_DAWN, etc., which are set by the GNUmakefiles if
// environment variables of the same name are set.
// So all you have to do is set environment variables and compile and
// instantiate this in your main().
// Alternatively, you can implement an empty function here and just
// register the systems you want in your main(), e.g.:
// G4VisManager* myVisManager = new MyVisManager;
// myVisManager -> RegisterGraphicsSystem (new MyGraphicsSystem);
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef VisManager_h
#define VisManager_h 1
#include "G4VisManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class VisManager: public G4VisManager {
public:
VisManager ();
private:
void RegisterGraphicsSystems ();
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -1,4 +1,4 @@
# $Id: ioni.mac,v 1.2 2004/11/03 12:42:47 maire Exp $
# $Id: ioni.mac,v 1.3 2005/03/03 16:50:35 maire Exp $
#
# Macro file for "MuonProcesses.cc"
# (can be run in batch, without graphic)
@@ -22,7 +22,8 @@
/gun/particle mu+
/gun/energy 10 TeV
#
/testem/histo/setFileName ioni.paw
/testem/histo/setFileName ioni
/testem/histo/setFileType hbook
/testem/histo/setHisto 1 100 -10. 0.
#
/testem/event/printModulo 1000
@@ -1,4 +1,4 @@
# $Id: munucl.mac,v 1.2 2004/11/10 17:24:26 maire Exp $
# $Id: munucl.mac,v 1.3 2005/03/03 16:50:35 maire Exp $
#
# Macro file for "MuonProcesses.cc"
# (can be run in batch, without graphic)
@@ -24,7 +24,8 @@
/gun/particle mu+
/gun/energy 10 TeV
#
/testem/histo/setFileName munucl.paw
/testem/histo/setFileName munucl
/testem/histo/setFileType hbook
/testem/histo/setHisto 4 100 -10. 0.
#
/testem/event/printModulo 10000
@@ -1,4 +1,4 @@
# $Id: pair.mac,v 1.2 2004/11/03 12:42:51 maire Exp $
# $Id: pair.mac,v 1.3 2005/03/03 16:50:35 maire Exp $
#
# Macro file for "MuonProcesses.cc"
# (can be run in batch, without graphic)
@@ -22,7 +22,8 @@
/gun/particle mu+
/gun/energy 10 TeV
#
/testem/histo/setFileName pair.paw
/testem/histo/setFileName pair
/testem/histo/setFileType hbook
/testem/histo/setHisto 2 100 -10. 0.
#
/testem/event/printModulo 1000
@@ -22,7 +22,7 @@
//
//
// $Id: DetectorConstruction.cc,v 1.1 2004/06/14 10:09:25 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: DetectorMessenger.cc,v 1.1 2004/06/14 10:09:26 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: EventAction.cc,v 1.1 2004/06/14 10:09:26 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: EventActionMessenger.cc,v 1.1 2004/06/14 10:09:26 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -20,8 +20,8 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: HistoManager.cc,v 1.3 2004/11/03 12:43:01 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// $Id: HistoManager.cc,v 1.5 2005/06/01 13:58:22 maire Exp $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -31,22 +31,27 @@
#include "G4UnitsTable.hh"
#ifdef G4ANALYSIS_USE
#include <memory> //for auto_ptr
#include "AIDA/AIDA.h"
#endif
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
HistoManager::HistoManager()
:tree(0),hf(0),factoryOn(false)
:af(0),tree(0),hf(0),factoryOn(false)
{
#ifdef G4ANALYSIS_USE
// Creating the analysis factory
af = AIDA_createAnalysisFactory();
if(!af) {
G4cout << " HistoManager::HistoManager() :"
<< " problem creating the AIDA analysis factory."
<< G4endl;
}
#endif
fileName = "muonprocesses.aida";
fileType = "hbook";
fileName[0] = "muonprocesses";
fileType = "hbook";
fileOption = "--noErrors uncompress";
// histograms
for (G4int k=0; k<MaxHisto; k++) {
histo[k] = 0;
@@ -74,14 +79,26 @@ HistoManager::~HistoManager()
void HistoManager::book()
{
#ifdef G4ANALYSIS_USE
// Creating the tree factory
std::auto_ptr<AIDA::ITreeFactory> tf(af->createTreeFactory());
if(!af) return;
// Creating a tree mapped to an hbook file.
fileName[1] = fileName[0] + "." + fileType;
G4bool readOnly = false;
G4bool createNew = true;
tree = tf->create(fileName, fileType, readOnly, createNew, "uncompress");
AIDA::ITreeFactory* tf = af->createTreeFactory();
tree = tf->create(fileName[1], fileType, readOnly, createNew, fileOption);
delete tf;
if(!tree) {
G4cout << "HistoManager::book() :"
<< " problem creating the AIDA tree with "
<< " storeName = " << fileName[1]
<< " storeType = " << fileType
<< " readOnly = " << readOnly
<< " createNew = " << createNew
<< " options = " << fileOption
<< G4endl;
return;
}
// Creating a histogram factory, whose histograms will be handled by the tree
hf = af->createHistogramFactory(*tree);
@@ -95,7 +112,7 @@ void HistoManager::book()
}
}
if(factoryOn)
G4cout << "\n----> Histogram Tree is opened in " << fileName << G4endl;
G4cout << "\n----> Histogram Tree is opened in " << fileName[1] << G4endl;
#endif
}
@@ -108,10 +125,11 @@ void HistoManager::save()
if (factoryOn) {
tree->commit(); // Writing the histograms to the file
tree->close(); // and closing the tree (and the file)
G4cout << "\n----> Histogram Tree is saved in " << fileName << G4endl;
G4cout << "\n----> Histogram Tree is saved in " << fileName[1] << G4endl;
delete hf;
delete tree;
tree = 0;
factoryOn = false;
}
#endif
@@ -20,8 +20,8 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: HistoMessenger.cc,v 1.2 2004/06/30 15:48:57 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// $Id: HistoMessenger.cc,v 1.3 2005/03/03 16:50:35 maire Exp $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -48,6 +48,10 @@ HistoMessenger::HistoMessenger(HistoManager* manager)
typeCmd = new G4UIcmdWithAString("/testem/histo/setFileType",this);
typeCmd->SetGuidance("set histograms file type");
typeCmd->SetCandidates("hbook root XML");
optionCmd = new G4UIcmdWithAString("/testem/histo/setFileOption",this);
optionCmd->SetGuidance("set option for the histograms file");
histoCmd = new G4UIcommand("/testem/histo/setHisto",this);
histoCmd->SetGuidance("Set bining of the histo number ih :");
@@ -88,6 +92,7 @@ HistoMessenger::~HistoMessenger()
{
delete rmhistoCmd;
delete histoCmd;
delete optionCmd;
delete typeCmd;
delete factoryCmd;
delete histoDir;
@@ -102,6 +107,9 @@ void HistoMessenger::SetNewValue(G4UIcommand* command, G4String newValues)
if (command == typeCmd)
histoManager->SetFileType(newValues);
if (command == optionCmd)
histoManager->SetFileOption(newValues);
if (command == histoCmd)
{ G4int ih,nbBins; G4double vmin,vmax; char unts[30];
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: MuCrossSections.cc,v 1.6 2004/12/06 12:02:42 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: MuNuclearBuilder.cc,v 1.2 2004/11/03 12:43:02 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: PhysListEmG4v52.cc,v 1.1 2004/06/14 10:09:26 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -20,8 +20,8 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: PhysListEmStandard.cc,v 1.3 2004/12/06 12:02:42 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// $Id: PhysListEmStandard.cc,v 1.7 2004/12/06 16:06:31 maire Exp $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -53,27 +53,32 @@ PhysListEmStandard::~PhysListEmStandard()
void PhysListEmStandard::ConstructProcess()
{
// Add standard EM Processes for Muon
//
// Common processes for mu+ and mu-
//
G4MuIonisation* muioni = new G4MuIonisation();
G4MuBremsstrahlung* mubrem = new G4MuBremsstrahlung();
G4MuPairProduction* mupair = new G4MuPairProduction();
G4ParticleDefinition* particle = G4MuonPlus::MuonPlus();
G4ProcessManager* pmanager = particle->GetProcessManager();
//
pmanager->AddProcess(new G4MuIonisation, -1, 1,1);
pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2,2);
pmanager->AddProcess(new G4MuPairProduction, -1, 3,3);
pmanager->AddProcess(muioni, -1, 2,2);
pmanager->AddProcess(mubrem, -1,-1,3);
pmanager->AddProcess(mupair, -1,-1,4);
particle = G4MuonMinus::MuonMinus();
pmanager = particle->GetProcessManager();
//
pmanager->AddProcess(new G4MuIonisation, -1, 1,1);
pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2,2);
pmanager->AddProcess(new G4MuPairProduction, -1, 3,3);
pmanager->AddProcess(muioni, -1, 2,2);
pmanager->AddProcess(mubrem, -1,-1,3);
pmanager->AddProcess(mupair, -1,-1,4);
//extend binning of PhysicsTables
//
G4LossTableManager::Instance()->SetMaxEnergy(1000.0*PeV);
G4LossTableManager::Instance()->SetDEDXBinning(220);
G4LossTableManager::Instance()->SetLambdaBinning(220);
G4LossTableManager::Instance()->SetVerbose(0);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: PhysicsList.cc,v 1.2 2004/08/17 18:07:30 vnivanch Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// $Id: PhysicsList.cc,v 1.4 2005/03/16 13:50:56 maire Exp $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -104,10 +104,9 @@ PhysicsList::~PhysicsList()
#include "G4AntiNeutron.hh"
// Nuclei
#include "G4Alpha.hh"
#include "G4Deuteron.hh"
#include "G4Triton.hh"
#include "G4He3.hh"
#include "G4Alpha.hh"
#include "G4GenericIon.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -153,7 +152,6 @@ void PhysicsList::ConstructParticle()
// ions
G4Deuteron::DeuteronDefinition();
G4Triton::TritonDefinition();
G4He3::He3Definition();
G4Alpha::AlphaDefinition();
G4GenericIon::GenericIonDefinition();
}
@@ -182,7 +180,7 @@ void PhysicsList::AddPhysicsList(const G4String& name)
if (name == emName) return;
if (name == "standard") {
if (name == "standard" && name != emName) {
emName = name;
delete emPhysicsList;
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: PhysicsListMessenger.cc,v 1.1 2004/06/14 10:09:27 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: PrimaryGeneratorAction.cc,v 1.1 2004/06/14 10:09:27 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: RunAction.cc,v 1.7 2004/12/03 09:38:31 vnivanch Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: StackingAction.cc,v 1.1 2004/06/14 10:09:27 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: SteppingAction.cc,v 1.4 2004/12/03 09:38:31 vnivanch Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: SteppingVerbose.cc,v 1.1 2004/06/14 10:09:27 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,151 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * 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. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: VisManager.cc,v 1.1 2004/06/14 10:09:27 maire Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifdef G4VIS_USE
#include "VisManager.hh"
// Supported drivers...
// Not needing external packages or libraries...
#include "G4ASCIITree.hh"
#include "G4DAWNFILE.hh"
#include "G4GAGTree.hh"
#include "G4HepRepFile.hh"
#include "G4HepRep.hh"
#include "G4RayTracer.hh"
#include "G4VRML1File.hh"
#include "G4VRML2File.hh"
// Needing external packages or libraries...
#ifdef G4VIS_USE_DAWN
#include "G4FukuiRenderer.hh"
#endif
#ifdef G4VIS_USE_OPACS
#include "G4Wo.hh"
#include "G4Xo.hh"
#endif
#ifdef G4VIS_USE_OPENGLX
#include "G4OpenGLImmediateX.hh"
#include "G4OpenGLStoredX.hh"
#endif
#ifdef G4VIS_USE_OPENGLWIN32
#include "G4OpenGLImmediateWin32.hh"
#include "G4OpenGLStoredWin32.hh"
#endif
#ifdef G4VIS_USE_OPENGLXM
#include "G4OpenGLImmediateXm.hh"
#include "G4OpenGLStoredXm.hh"
#endif
#ifdef G4VIS_USE_OIX
#include "G4OpenInventorX.hh"
#endif
#ifdef G4VIS_USE_OIWIN32
#include "G4OpenInventorWin32.hh"
#endif
#ifdef G4VIS_USE_VRML
#include "G4VRML1.hh"
#include "G4VRML2.hh"
#endif
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
VisManager::VisManager () {}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void VisManager::RegisterGraphicsSystems () {
// Graphics Systems not needing external packages or libraries...
RegisterGraphicsSystem (new G4ASCIITree);
RegisterGraphicsSystem (new G4DAWNFILE);
RegisterGraphicsSystem (new G4GAGTree);
RegisterGraphicsSystem (new G4HepRepFile);
RegisterGraphicsSystem (new G4HepRep);
RegisterGraphicsSystem (new G4RayTracer);
RegisterGraphicsSystem (new G4VRML1File);
RegisterGraphicsSystem (new G4VRML2File);
// Graphics systems needing external packages or libraries...
#ifdef G4VIS_USE_DAWN
RegisterGraphicsSystem (new G4FukuiRenderer);
#endif
#ifdef G4VIS_USE_OPACS
RegisterGraphicsSystem (new G4Wo);
RegisterGraphicsSystem (new G4Xo);
#endif
#ifdef G4VIS_USE_OPENGLX
RegisterGraphicsSystem (new G4OpenGLImmediateX);
RegisterGraphicsSystem (new G4OpenGLStoredX);
#endif
#ifdef G4VIS_USE_OPENGLWIN32
RegisterGraphicsSystem (new G4OpenGLImmediateWin32);
RegisterGraphicsSystem (new G4OpenGLStoredWin32);
#endif
#ifdef G4VIS_USE_OPENGLXM
RegisterGraphicsSystem (new G4OpenGLImmediateXm);
RegisterGraphicsSystem (new G4OpenGLStoredXm);
#endif
#ifdef G4VIS_USE_OIX
RegisterGraphicsSystem (new G4OpenInventorX);
#endif
#ifdef G4VIS_USE_OIWIN32
RegisterGraphicsSystem (new G4OpenInventorWin32);
#endif
#ifdef G4VIS_USE_VRML
RegisterGraphicsSystem (new G4VRML1);
RegisterGraphicsSystem (new G4VRML2);
#endif
if (fVerbose > 0) {
G4cout <<
"\nYou have successfully chosen to use the following graphics systems."
<< G4endl;
PrintAvailableGraphicsSystems ();
}
}
#endif
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......