Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: DetectorConstruction.hh,v 1.1 2010-09-08 11:23:53 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm8/include/DetectorConstruction.hh
/// \brief Definition of the DetectorConstruction class
//
// $Id$
//
/////////////////////////////////////////////////////////////////////////
//
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: DetectorMessenger.hh,v 1.1 2010-09-08 11:23:53 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm8/include/DetectorMessenger.hh
/// \brief Definition of the DetectorMessenger class
//
// $Id$
//
/////////////////////////////////////////////////////////////////////////
//
@@ -65,20 +67,20 @@ public:
private:
DetectorConstruction* Detector;
DetectorConstruction* fDetector;
G4UIdirectory* detDir;
G4UIdirectory* fDetDir;
G4UIcmdWithAString* GasMaterCmd;
G4UIcmdWithADoubleAndUnit* GasThickCmd;
G4UIcmdWithADoubleAndUnit* GasRadCmd;
G4UIcmdWithAString* fGasMaterCmd;
G4UIcmdWithADoubleAndUnit* fGasThickCmd;
G4UIcmdWithADoubleAndUnit* fGasRadCmd;
G4UIcmdWithADoubleAndUnit* WinThickCmd;
G4UIcmdWithAString* WindowMaterCmd;
G4UIcmdWithADoubleAndUnit* fWinThickCmd;
G4UIcmdWithAString* fWindowMaterCmd;
G4UIcmdWithAString* WorldMaterCmd;
G4UIcmdWithAString* fWorldMaterCmd;
G4UIcmdWithADoubleAndUnit* ionCmd;
G4UIcmdWithADoubleAndUnit* fIonCmd;
};
#endif
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: EventAction.hh,v 1.1 2010-09-08 11:23:53 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm8/include/EventAction.hh
/// \brief Definition of the EventAction class
//
// $Id$
//
//---------------------------------------------------------------------------
//
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: Histo.hh,v 1.1 2010-09-08 11:23:53 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm8/include/Histo.hh
/// \brief Definition of the Histo class
//
// $Id$
#ifndef Histo_h
#define Histo_h 1
@@ -43,86 +45,98 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#include "globals.hh"
#include <vector>
#include "G4DynamicParticle.hh"
#include "G4VPhysicalVolume.hh"
#include "G4DataVector.hh"
#include "G4Track.hh"
#include <vector>
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class G4RootAnalysisManager;
class HistoMessenger;
namespace AIDA {
class ITree;
class ITuple;
class IHistogram1D;
class IAnalysisFactory;
}
class Histo
{
public:
Histo();
~Histo();
void book();
// Book predefined histogramms
void Book();
void save();
// Save histogramms to file
void Save();
void add1D(const G4String&, const G4String&, G4int nb=100, G4double x1=0.,
G4double x2=1., G4double u=1.);
// In this method histogramms are predefined
// In this method 1-D histogramms are predefined
void Add1D(const G4String&, const G4String&, G4int nb, G4double x1,
G4double x2, G4double u=1.);
void setHisto1D(G4int, G4int, G4double, G4double, G4double);
// It change bins and boundaries
void SetHisto1D(G4int, G4int, G4double, G4double, G4double);
// Histogram activation/deactivation
void Activate(G4int, G4bool);
void fill(G4int, G4double, G4double);
// Histogramms are filled
void Fill(G4int, G4double, G4double);
void scale(G4int, G4double);
// Histogramms are scaled
void ScaleH1(G4int, G4double);
void addTuple(const G4String&, const G4String&, const G4String&);
// In this method nTuple is booked
void AddTuple(const G4String&);
// In this method nTuple is booked
void AddTupleI(const G4String&);
void AddTupleF(const G4String&);
void AddTupleD(const G4String&);
void fillTuple(const G4String&, G4double);
// Fill nTuple parameter
void FillTupleI(G4int, G4int);
void FillTupleF(G4int, G4float);
void FillTupleD(G4int, G4double);
void addRow();
// Save tuple event
void AddRow();
void setFileName(const G4String&);
// Set output file
void SetFileName(const G4String&);
void SetFileType(const G4String&);
void setFileType(const G4String&);
inline void SetVerbose(G4int val) { fVerbose = val; };
inline G4bool IsActive() const { return fHistoActive; };
private:
G4String histName;
G4String histType;
G4String tupleName;
G4String tupleId;
G4String tupleList;
G4int nHisto;
G4int verbose;
G4int defaultAct;
std::vector<AIDA::IHistogram1D*> histo;
AIDA::IAnalysisFactory* af;
AIDA::ITuple* ntup;
AIDA::ITree* tree;
HistoMessenger* messenger;
std::vector<G4int> active;
std::vector<G4int> bins;
std::vector<G4double> xmin;
std::vector<G4double> xmax;
std::vector<G4double> unit;
std::vector<G4String> ids;
std::vector<G4String> titles;
G4RootAnalysisManager* fManager;
HistoMessenger* fMessenger;
G4String fHistName;
G4String fHistType;
G4String fTupleName;
G4String fTupleTitle;
G4int fNHisto;
G4int fVerbose;
G4bool fDefaultAct;
G4bool fHistoActive;
G4bool fNtupleActive;
std::vector<G4int> fHisto;
std::vector<G4int> fTupleI;
std::vector<G4int> fTupleF;
std::vector<G4int> fTupleD;
std::vector<G4int> fBins;
std::vector<G4bool> fActive;
std::vector<G4double> fXmin;
std::vector<G4double> fXmax;
std::vector<G4double> fUnit;
std::vector<G4String> fIds;
std::vector<G4String> fTitles;
std::vector<G4String> fNtupleI;
std::vector<G4String> fNtupleF;
std::vector<G4String> fNtupleD;
};
#endif
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: HistoManager.hh,v 1.3 2010-09-08 11:23:53 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm8/include/HistoManager.hh
/// \brief Definition of the HistoManager class
//
// $Id$
//
//---------------------------------------------------------------------------
//
@@ -97,50 +99,52 @@ private:
// MEMBERS
static HistoManager* fManager;
G4int nHisto;
G4int verbose;
G4int fNHisto;
G4int fVerbose;
G4double maxEnergy;
G4double nStepGas;
G4double nCluster;
G4double nTotStepGas;
G4double nTotCluster;
G4double nEvt;
G4double fMaxEnergy;
G4double fStepGas;
G4double fCluster;
G4double fTotStepGas;
G4double fTotCluster;
G4double fEvt;
G4int nBinsE;
G4int nBinsCluster;
G4int fBinsE;
G4int fBinsCluster;
G4double totEdep;
G4double overflow;
G4DataVector Egas;
G4bool fHistoBooked;
Histo* histo;
G4ElectronIonPair* elIonPair;
G4double fTotEdep;
G4double fOverflow;
G4DataVector fEgas;
Histo* fHisto;
G4ElectronIonPair* fElIonPair;
};
inline void HistoManager::SetMaxEnergy(G4double value)
{
maxEnergy = value;
fMaxEnergy = value;
}
inline void HistoManager::SetNumberBins(G4int value)
{
nBinsE = value;
fBinsE = value;
}
inline void HistoManager::SetNumberBinsCluster(G4int value)
{
nBinsCluster = value;
fBinsCluster = value;
}
inline void HistoManager::SetVerbose(G4int value)
{
verbose = value;
fVerbose = value;
}
inline G4int HistoManager::GetVerbose() const
{
return verbose;
return fVerbose;
}
#endif
@@ -23,10 +23,11 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm8/include/HistoMessenger.hh
/// \brief Definition of the HistoMessenger class
//
// $Id: HistoMessenger.hh,v 1.1 2010-09-08 11:23:53 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
//
@@ -50,21 +51,21 @@ class G4UIcmdWithAString;
class HistoMessenger: public G4UImessenger
{
public:
public:
HistoMessenger(Histo* );
HistoMessenger(Histo* );
~HistoMessenger();
void SetNewValue(G4UIcommand* ,G4String );
virtual void SetNewValue(G4UIcommand* ,G4String );
private:
private:
Histo* histo;
Histo* fHisto;
G4UIdirectory* histoDir;
G4UIcmdWithAString* factoryCmd;
G4UIcmdWithAString* fileCmd;
G4UIcommand* histoCmd;
G4UIdirectory* fHistoDir;
G4UIcmdWithAString* fFactoryCmd;
G4UIcmdWithAString* fFileCmd;
G4UIcommand* fHistoCmd;
};
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysicsList.hh,v 1.5 2010-09-08 09:12:10 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm8/include/PhysicsList.hh
/// \brief Definition of the PhysicsList class
//
// $Id$
//
//---------------------------------------------------------------------------
//
@@ -74,27 +76,23 @@ private:
void AddPAIModel(const G4String&);
void NewPAIModel(const G4ParticleDefinition*, const G4String& modname,
const G4String& procname);
const G4String& procname);
G4EmConfigurator* em_config;
G4EmConfigurator* fConfig;
G4double cutForGamma;
G4double cutForElectron;
G4double cutForPositron;
G4double cutForProton;
G4double fCutForGamma;
G4double fCutForElectron;
G4double fCutForPositron;
G4double fCutForProton;
G4VPhysicsConstructor* emPhysicsList;
G4VPhysicsConstructor* generalPhysicsList;
G4VPhysicsConstructor* particleList;
std::vector<G4VPhysicsConstructor*> hadronPhys;
G4String emName;
G4VPhysicsConstructor* fEmPhysicsList;
G4VPhysicsConstructor* fDecayPhysicsList;
std::vector<G4VPhysicsConstructor*> fHadronPhys;
G4String fEmName;
StepMax* stepMaxProcess;
StepMax* fStepMaxProcess;
PhysicsListMessenger* pMessenger;
G4VEmModel* em_model;
G4VEmFluctuationModel* fm_model;
PhysicsListMessenger* fMessenger;
};
@@ -23,9 +23,11 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm8/include/PhysicsListMessenger.hh
/// \brief Definition of the PhysicsListMessenger class
//
// $Id: PhysicsListMessenger.hh,v 1.3 2010-09-08 09:12:10 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
//---------------------------------------------------------------------------
//
@@ -61,16 +63,16 @@ public:
PhysicsListMessenger(PhysicsList* );
virtual ~PhysicsListMessenger();
void SetNewValue(G4UIcommand*, G4String);
virtual void SetNewValue(G4UIcommand*, G4String);
private:
PhysicsList* pPhysicsList;
PhysicsList* fPhysicsList;
G4UIcmdWithADoubleAndUnit* eCmd;
G4UIcmdWithAnInteger* ebCmd;
G4UIcmdWithAnInteger* cbCmd;
G4UIcmdWithAString* pListCmd;
G4UIcmdWithADoubleAndUnit* fECmd;
G4UIcmdWithAnInteger* fEBCmd;
G4UIcmdWithAnInteger* fCBCmd;
G4UIcmdWithAString* fListCmd;
};
@@ -23,9 +23,11 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm8/include/PrimaryGeneratorAction.hh
/// \brief Definition of the PrimaryGeneratorAction class
//
// $Id: PrimaryGeneratorAction.hh,v 1.1 2010-09-08 11:23:53 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
/////////////////////////////////////////////////////////////////////////
//
@@ -60,7 +62,7 @@ public:
virtual ~PrimaryGeneratorAction();
virtual void GeneratePrimaries(G4Event*);
//G4ParticleGun* GetParticleGun() {return particleGun;};
void SetPositionZ(G4double value);
private:
@@ -68,7 +70,7 @@ private:
PrimaryGeneratorAction & operator=(const PrimaryGeneratorAction &right);
PrimaryGeneratorAction(const PrimaryGeneratorAction&);
G4ParticleGun* particleGun;
G4ParticleGun* fParticleGun;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: RunAction.hh,v 1.1 2010-09-08 11:23:53 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm8/include/RunAction.hh
/// \brief Definition of the RunAction class
//
// $Id$
//
//---------------------------------------------------------------------------
//
@@ -53,12 +55,10 @@ public: // Without description
RunAction();
virtual ~RunAction();
public: // With description
void BeginOfRunAction(const G4Run*);
virtual void BeginOfRunAction(const G4Run*);
// In this method histogramms are booked
void EndOfRunAction(const G4Run*);
virtual void EndOfRunAction(const G4Run*);
// In this method bookHisto method is called in which histogramms are filled
};
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: StepMax.hh,v 1.2 2006-06-29 16:59:52 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm8/include/StepMax.hh
/// \brief Definition of the StepMax class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -43,32 +45,33 @@ class StepMaxMessenger;
class StepMax : public G4VDiscreteProcess
{
public:
public:
StepMax(const G4String& processName = "UserMaxStep");
~StepMax();
StepMax(const G4String& processName = "UserMaxStep");
~StepMax();
G4bool IsApplicable(const G4ParticleDefinition&);
void SetMaxStep(G4double);
void SetMaxStep(G4double);
inline G4double GetMaxStep() { return fMaxChargedStep; };
G4double GetMaxStep() {return MaxChargedStep;};
virtual G4bool IsApplicable(const G4ParticleDefinition&);
G4double PostStepGetPhysicalInteractionLength( const G4Track& track,
G4double previousStepSize,
G4ForceCondition* condition);
virtual G4double
PostStepGetPhysicalInteractionLength(const G4Track& track,
G4double previousStepSize,
G4ForceCondition* condition);
G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*)
{return 0.;}; // it is not needed here !
virtual G4double
GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*);
private:
private:
G4double MaxChargedStep;
G4double ProposedStep;
G4double fMaxChargedStep;
G4double fProposedStep;
StepMaxMessenger* pMess;
StepMaxMessenger* fMessenger;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: StepMaxMessenger.hh,v 1.2 2006-06-29 16:59:55 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm8/include/StepMaxMessenger.hh
/// \brief Definition of the StepMaxMessenger class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -42,15 +44,16 @@ class G4UIcmdWithADoubleAndUnit;
class StepMaxMessenger: public G4UImessenger
{
public:
StepMaxMessenger(StepMax*);
~StepMaxMessenger();
public:
StepMaxMessenger(StepMax*);
~StepMaxMessenger();
void SetNewValue(G4UIcommand*, G4String);
void SetNewValue(G4UIcommand*, G4String);
private:
StepMax* stepMax;
G4UIcmdWithADoubleAndUnit* StepMaxCmd;
private:
StepMax* fStepMax;
G4UIcmdWithADoubleAndUnit* fStepMaxCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: TargetSD.hh,v 1.1 2010-09-08 11:23:53 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file electromagnetic/TestEm8/include/TargetSD.hh
/// \brief Definition of the TargetSD class
//
// $Id$
//
/////////////////////////////////////////////////////////////////////////
//
@@ -65,7 +67,7 @@ public: // Without description
private:
HistoManager* theHisto;
HistoManager* fHisto;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....