Import Geant4 7.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 11:11:55 +02:00
parent e083ffb441
commit 516dbf1a58
5914 changed files with 202605 additions and 71141 deletions
@@ -0,0 +1,114 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
#ifndef exGPSAnalysisManager_h
#define exGPSAnalysisManager_h 1
#ifdef G4ANALYSIS_USE
#include "globals.hh"
using namespace AIDA;
class AIDA::IAnalysisFactory;
class AIDA::ITree;
class AIDA::IHistogramFactory;
class AIDA::ITupleFactory;
class AIDA::IPlotter;
class exGPSAnalysisMessenger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class exGPSAnalysisManager
{
private:
exGPSAnalysisManager ();
public:
virtual ~exGPSAnalysisManager ();
static exGPSAnalysisManager* getInstance ();
static void dispose();
IHistogramFactory* getHistogramFactory();
ITupleFactory* getTupleFactory();
IPlotter* createPlotter();
public:
void BeginOfRun();
void EndOfRun();
void SetFileName(G4String filename) {fileName = filename;};
void SetFileType(G4String filetype) {fileType = filetype;};
void SetPosMax(G4double pmax) {maxpos = pmax;};
void SetPosMin(G4double pmin) {minpos = pmin;};
void SetEngMax(G4double emax) {maxeng = emax;};
void SetEngMin(G4double emin) {mineng = emin;};
void Fill(G4String, G4double, G4double, G4double, G4double, G4double, G4double, G4double);
private:
static exGPSAnalysisManager* instance;
G4String fileName;
G4String fileType;
IAnalysisFactory* analysisFactory;
IHistogramFactory* hFactory;
ITupleFactory* tFactory;
ITree* tree;
G4double minpos, maxpos;
G4double mineng, maxeng;
IHistogram1D* enerHisto;
IHistogram2D* posiXY;
IHistogram2D* posiXZ;
IHistogram2D* posiYZ;
IHistogram2D* anglCTP;
IHistogram2D* anglTP;
ITuple* tuple;
IPlotter* plotter;
exGPSAnalysisMessenger* analysisMessenger;
};
#endif // G4ANALYSIS_USE
#endif
@@ -0,0 +1,70 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
#ifndef exGPSAnalysisMessenger_h
#define exGPSAnalysisMessenger_h 1
#ifdef G4ANALYSIS_USE
#include "globals.hh"
#include "G4UImessenger.hh"
class exGPSAnalysisManager;
class G4UIdirectory;
class G4UIcmdWithAString;
class G4UIcmdWithADoubleAndUnit;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class exGPSAnalysisMessenger: public G4UImessenger
{
public:
exGPSAnalysisMessenger(exGPSAnalysisManager* );
~exGPSAnalysisMessenger();
void SetNewValue(G4UIcommand*, G4String);
private:
exGPSAnalysisManager* exGPSAnalysis;
G4UIdirectory* exGPSAnalysisDir;
G4UIcmdWithAString* FileNameCmd;
G4UIcmdWithAString* FileTypeCmd;
G4UIcmdWithADoubleAndUnit* MaxEngCmd;
G4UIcmdWithADoubleAndUnit* MinEngCmd;
G4UIcmdWithADoubleAndUnit* MaxPosCmd;
G4UIcmdWithADoubleAndUnit* MinPosCmd;
};
#endif // G4ANALYSIS_USE
#endif
@@ -0,0 +1,55 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
#ifndef exGPSEventAction_h
#define exGPSEventAction_h 1
#include "G4UserEventAction.hh"
#include "globals.hh"
class exGPSEventActionMessenger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class exGPSEventAction : public G4UserEventAction
{
public:
exGPSEventAction() ;
virtual ~exGPSEventAction();
public:
virtual void BeginOfEventAction(const G4Event*);
virtual void EndOfEventAction(const G4Event*);
void SetDrawFlag (G4String val) {drawFlag = val;};
void SetPrintModulo(G4int val) {printModulo = val;};
private:
G4String drawFlag;
G4int printModulo;
exGPSEventActionMessenger* eventMessenger;
};
#endif
@@ -0,0 +1,64 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
// 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: exGPSEventActionMessenger.hh,v 1.3 2004/12/15 15:41:11 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-ref-00 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef exGPSEventActionMessenger_h
#define exGPSEventActionMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
class exGPSEventAction;
class G4UIcmdWithAString;
class G4UIcmdWithAnInteger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class exGPSEventActionMessenger: public G4UImessenger
{
public:
exGPSEventActionMessenger(exGPSEventAction*);
~exGPSEventActionMessenger();
void SetNewValue(G4UIcommand*, G4String);
private:
exGPSEventAction* eventAction;
G4UIcmdWithAString* DrawCmd;
G4UIcmdWithAnInteger* PrintCmd;
};
#endif
@@ -0,0 +1,50 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
#ifndef exGPSGeometryConstruction1_h
#define exGPSGeometryConstruction1_h 1
//
#include "G4VUserDetectorConstruction.hh"
class G4VPhysicalVolume;
////////////////////////////////////////////////////////////////////////////////
//
class exGPSGeometryConstruction : public G4VUserDetectorConstruction
{
public:
exGPSGeometryConstruction ();
~exGPSGeometryConstruction ();
public:
G4VPhysicalVolume *Construct ();
private:
G4VPhysicalVolume * universe_phys ;
G4VPhysicalVolume * Al_phys ;
G4VPhysicalVolume * aSphere_phys;
};
////////////////////////////////////////////////////////////////////////////////
#endif
@@ -0,0 +1,57 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
#ifndef exGPSPhysicsList_h
#define exGPSPhysicsList_h 1
#include "G4VUserPhysicsList.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class exGPSPhysicsList: public G4VUserPhysicsList
{
public:
exGPSPhysicsList();
~exGPSPhysicsList();
protected:
// Construct particle and physics
void ConstructParticle();
void ConstructProcess();
void SetCuts();
public:
protected:
// these methods Construct particles
void ConstructBosons();
void ConstructLeptons();
void ConstructMesons();
void ConstructBaryons();
void ConstructNuclei();
private:
};
#endif
@@ -0,0 +1,48 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
#ifndef exGPSPrimaryGeneratorAction_h
#define exGPSPrimaryGeneratorAction_h 1
#include "G4VUserPrimaryGeneratorAction.hh"
class G4GeneralParticleSource;
class G4Event;
class exGPSPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
exGPSPrimaryGeneratorAction();
~exGPSPrimaryGeneratorAction();
public:
void GeneratePrimaries(G4Event* anEvent);
private:
G4GeneralParticleSource* particleGun;
};
#endif
@@ -0,0 +1,48 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
#ifndef exGPSRunAction_h
#define exGPSRunAction_h 1
#include "G4UserRunAction.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class G4Run;
class exGPSRunAction : public G4UserRunAction
{
public:
exGPSRunAction();
~exGPSRunAction();
public:
void BeginOfRunAction(const G4Run*);
void EndOfRunAction(const G4Run*);
private:
};
#endif
@@ -0,0 +1,76 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
// 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: exGPSVisManager.hh,v 1.3 2004/12/15 15:41:16 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-ref-00 $
//
//
//....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 exGPSVisManager_h
#define exGPSVisManager_h 1
#ifdef G4VIS_USE
#include "G4VisManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class exGPSVisManager: public G4VisManager {
public:
exGPSVisManager ();
private:
void RegisterGraphicsSystems ();
};
#endif
#endif