Import Geant4 10.0.0 source tree
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/DetectorConstruction.hh
|
||||
/// \brief Definition of the DetectorConstruction class
|
||||
//
|
||||
// $Id$
|
||||
// $Id: DetectorConstruction.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -46,6 +46,7 @@
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4Material.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
|
||||
class CheckVolumeSD;
|
||||
class TargetSD;
|
||||
@@ -61,9 +62,7 @@ public:
|
||||
DetectorConstruction();
|
||||
virtual ~DetectorConstruction();
|
||||
|
||||
public:
|
||||
|
||||
G4VPhysicalVolume* Construct();
|
||||
virtual G4VPhysicalVolume* Construct();
|
||||
|
||||
void SetWorldMaterial(const G4String&);
|
||||
void SetTargetMaterial(const G4String&);
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/DetectorMessenger.hh
|
||||
/// \brief Definition of the DetectorMessenger class
|
||||
//
|
||||
// $Id$
|
||||
// $Id: DetectorMessenger.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
DetectorMessenger(DetectorConstruction* );
|
||||
virtual ~DetectorMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/EventAction.hh
|
||||
/// \brief Definition of the EventAction class
|
||||
//
|
||||
// $Id$
|
||||
// $Id: EventAction.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -60,13 +60,13 @@ public: // Without description
|
||||
EventAction();
|
||||
virtual ~EventAction();
|
||||
|
||||
void BeginOfEventAction(const G4Event*);
|
||||
void EndOfEventAction(const G4Event*);
|
||||
virtual void BeginOfEventAction(const G4Event*);
|
||||
virtual void EndOfEventAction(const G4Event*);
|
||||
|
||||
void SetPrintModulo(G4int val) {printModulo = val;};
|
||||
void SetDrawFlag(G4String val) {drawFlag = val;};
|
||||
void AddEventToDebug(G4int val) {selectedEvents.push_back(val);
|
||||
nSelected++;};
|
||||
inline void SetPrintModulo(G4int val) {printModulo = val;};
|
||||
inline void SetDrawFlag(G4String val) {drawFlag = val;};
|
||||
inline void AddEventToDebug(G4int val) {selectedEvents.push_back(val);
|
||||
nSelected++;};
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/EventActionMessenger.hh
|
||||
/// \brief Definition of the EventActionMessenger class
|
||||
//
|
||||
// $Id$
|
||||
// $Id: EventActionMessenger.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -59,7 +59,7 @@ public:
|
||||
EventActionMessenger(EventAction*);
|
||||
virtual ~EventActionMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -36,6 +36,9 @@
|
||||
/// \file hadronic/Hadr02/include/G4DPMJET2_5CrossSection.hh
|
||||
/// \brief Definition of the G4DPMJET2_5CrossSection class
|
||||
//
|
||||
// $Id: G4DPMJET2_5CrossSection.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4DPMJET2_5CrossSection_h
|
||||
#define G4DPMJET2_5CrossSection_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
@@ -66,50 +69,56 @@
|
||||
|
||||
#include "G4VCrossSectionDataSet.hh"
|
||||
#include "G4DPMJET2_5CrossSectionParamSet.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
|
||||
#include <map>
|
||||
|
||||
typedef std::map< G4int, G4DPMJET2_5CrossSectionParamSet *, std::less< G4int > >
|
||||
typedef std::map< G4int, G4DPMJET2_5CrossSectionParamSet*, std::less< G4int > >
|
||||
G4DPMJET2_5CrossSectionIndex;
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4DPMJET2_5CrossSection : public G4VCrossSectionDataSet
|
||||
{
|
||||
public:
|
||||
G4DPMJET2_5CrossSection();
|
||||
~G4DPMJET2_5CrossSection();
|
||||
virtual G4bool IsApplicable(const G4DynamicParticle* theProjectile,
|
||||
const G4Element* theTarget);
|
||||
public:
|
||||
|
||||
virtual G4bool IsZAApplicable(const G4DynamicParticle* theProjectile,
|
||||
G4double ZZ, G4double AA);
|
||||
G4DPMJET2_5CrossSection();
|
||||
|
||||
virtual G4double GetCrossSection(const G4DynamicParticle* theProjectile,
|
||||
const G4Element* theTarget, G4double theTemperature);
|
||||
virtual ~G4DPMJET2_5CrossSection();
|
||||
|
||||
virtual
|
||||
G4double GetIsoZACrossSection(const G4DynamicParticle* theProjectile,
|
||||
G4double ZZ, G4double AA,
|
||||
G4double theTemperature);
|
||||
virtual G4bool IsIsoApplicable(const G4DynamicParticle* theProjectile,
|
||||
G4int ZZ, G4int AA,
|
||||
const G4Element* elm = 0,
|
||||
const G4Material* mat = 0);
|
||||
|
||||
virtual void BuildPhysicsTable(const G4ParticleDefinition&);
|
||||
virtual
|
||||
G4double GetIsoCrossSection(const G4DynamicParticle* theProjectile,
|
||||
G4int ZZ, G4int AA,
|
||||
const G4Isotope*,
|
||||
const G4Element* elm = 0,
|
||||
const G4Material* mat = 0);
|
||||
|
||||
virtual void BuildPhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
virtual void DumpPhysicsTable(const G4ParticleDefinition&);
|
||||
virtual void DumpPhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
private:
|
||||
void Initialise ();
|
||||
private:
|
||||
|
||||
G4int APmin;
|
||||
G4int APmax;
|
||||
G4int ATmin;
|
||||
G4int ATmax;
|
||||
void Initialise ();
|
||||
|
||||
G4DPMJET2_5CrossSectionIndex theCrossSectionIndex;
|
||||
G4int APmin;
|
||||
G4int APmax;
|
||||
G4int ATmin;
|
||||
G4int ATmax;
|
||||
|
||||
G4DPMJET2_5CrossSectionIndex theCrossSectionIndex;
|
||||
|
||||
const G4double upperLimit;
|
||||
const G4double lowerLimit;
|
||||
const G4int maxA;
|
||||
const G4double upperLimit;
|
||||
const G4double lowerLimit;
|
||||
const G4int maxA;
|
||||
};
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -36,6 +36,9 @@
|
||||
/// \file hadronic/Hadr02/include/G4DPMJET2_5CrossSectionParamSet.hh
|
||||
/// \brief Definition of the G4DPMJET2_5CrossSectionParamSet class
|
||||
//
|
||||
// $Id: G4DPMJET2_5CrossSectionParamSet.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4DPMJET2_5CrossSectionParamSet_h
|
||||
#define G4DPMJET2_5CrossSectionParamSet_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
@@ -61,23 +64,26 @@
|
||||
//
|
||||
#include "globals.hh"
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
class G4DPMJET2_5CrossSectionParamSet
|
||||
{
|
||||
public:
|
||||
G4DPMJET2_5CrossSectionParamSet () {c[0]=0.0; c[1]=0.0; c[2]=0.0;}
|
||||
G4DPMJET2_5CrossSectionParamSet (const G4double c0, const G4double c1,
|
||||
const G4double c2) {c[0]=c0; c[1]=c1; c[2]=c2;}
|
||||
~G4DPMJET2_5CrossSectionParamSet () {};
|
||||
public:
|
||||
G4DPMJET2_5CrossSectionParamSet () {c[0]=0.0; c[1]=0.0; c[2]=0.0;}
|
||||
G4DPMJET2_5CrossSectionParamSet (const G4double c0, const G4double c1,
|
||||
const G4double c2)
|
||||
{c[0]=c0; c[1]=c1; c[2]=c2;}
|
||||
|
||||
~G4DPMJET2_5CrossSectionParamSet () {};
|
||||
|
||||
G4double operator[](const G4int i) const {return c[i];}
|
||||
G4DPMJET2_5CrossSectionParamSet &operator=(G4DPMJET2_5CrossSectionParamSet &right);
|
||||
G4DPMJET2_5CrossSectionParamSet operator=(G4DPMJET2_5CrossSectionParamSet right)
|
||||
{c[0] = right.c[0]; c[1] = right.c[1]; c[2] = right.c[2]; return *this;};
|
||||
G4double operator[](const G4int i) const {return c[i];}
|
||||
G4DPMJET2_5CrossSectionParamSet &operator=
|
||||
(G4DPMJET2_5CrossSectionParamSet &right);
|
||||
G4DPMJET2_5CrossSectionParamSet operator=
|
||||
(G4DPMJET2_5CrossSectionParamSet right)
|
||||
{c[0] = right.c[0]; c[1] = right.c[1]; c[2] = right.c[2]; return *this;};
|
||||
|
||||
protected:
|
||||
G4double c[3];
|
||||
protected:
|
||||
G4double c[3];
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -36,8 +36,12 @@
|
||||
/// \file hadronic/Hadr02/include/G4DPMJET2_5Interface.hh
|
||||
/// \brief Definition of the G4DPMJET2_5Interface class
|
||||
//
|
||||
// $Id: G4DPMJET2_5Interface.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4DPMJET2_5Interface_hh
|
||||
#define G4DPMJET2_5Interface_hh 1
|
||||
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4DPMJET2_5Interface.hh
|
||||
@@ -115,12 +119,12 @@ struct ccdpm25diffra
|
||||
};
|
||||
struct ccdpm25diqsum
|
||||
{
|
||||
G4int ndvuu, ndvus, ndvss, nvduu, nvdus, nvdss,
|
||||
ndsuu, ndsus, ndsss, nsduu, nsdus, nsdss,
|
||||
ndzuu, ndzus, ndzss, nzduu, nzdus, nzdss,
|
||||
nadvuu, nadvus, nadvss, navduu, navdus, navdss,
|
||||
nadsuu, nadsus, nadsss, nasduu, nasdus, nasdss,
|
||||
nadzuu, nadzus, nadzss, nazduu, nazdus, nazdss;
|
||||
G4int ndvuu, ndvus, ndvss, nvduu, nvdus, nvdss,
|
||||
ndsuu, ndsus, ndsss, nsduu, nsdus, nsdss,
|
||||
ndzuu, ndzus, ndzss, nzduu, nzdus, nzdss,
|
||||
nadvuu, nadvus, nadvss, navduu, navdus, navdss,
|
||||
nadsuu, nadsus, nadsss, nasduu, nasdus, nasdss,
|
||||
nadzuu, nadzus, nadzss, nazduu, nazdus, nazdss;
|
||||
};
|
||||
struct ccdpm25diquax
|
||||
{
|
||||
@@ -129,8 +133,8 @@ struct ccdpm25diquax
|
||||
};
|
||||
struct ccdpm25diqrej
|
||||
{
|
||||
G4int idiqre[7], idvre[3], ivdre[3], idsre[3], isdre[3],
|
||||
idzre[3], izdre[3], idiqrz[7];
|
||||
G4int idiqre[7], idvre[3], ivdre[3], idsre[3], isdre[3],
|
||||
idzre[3], izdre[3], idiqrz[7];
|
||||
};
|
||||
struct ccdpm25dprin
|
||||
{
|
||||
|
||||
@@ -36,6 +36,9 @@
|
||||
/// \file hadronic/Hadr02/include/G4DPMJET2_5Model.hh
|
||||
/// \brief Definition of the G4DPMJET2_5Model class
|
||||
//
|
||||
// $Id: G4DPMJET2_5Model.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4DPMJET2_5Model_h
|
||||
#define G4DPMJET2_5Model_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
@@ -81,224 +84,181 @@
|
||||
class G4GlaubAADataSetHandler;
|
||||
enum G4DPMJET2_5InitialisationType { DEFAULT=1, DPM2_5=2, DPM3=3, CORSIKA=4 };
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4DPMJET2_5Model : public G4HadronicInteraction
|
||||
{
|
||||
public:
|
||||
public:
|
||||
//
|
||||
//
|
||||
// Standard constructor, destructor, copy etc declarations.
|
||||
//
|
||||
G4DPMJET2_5Model ();
|
||||
G4DPMJET2_5Model (const G4DPMJET2_5InitialisationType);
|
||||
G4DPMJET2_5Model (G4ExcitationHandler *,
|
||||
const G4DPMJET2_5InitialisationType initType = DEFAULT);
|
||||
G4DPMJET2_5Model (G4VPreCompoundModel *,
|
||||
const G4DPMJET2_5InitialisationType initType = DEFAULT);
|
||||
~G4DPMJET2_5Model ();
|
||||
G4DPMJET2_5Model ();
|
||||
G4DPMJET2_5Model (const G4DPMJET2_5InitialisationType);
|
||||
G4DPMJET2_5Model (G4ExcitationHandler *,
|
||||
const G4DPMJET2_5InitialisationType initType = DEFAULT);
|
||||
G4DPMJET2_5Model (G4VPreCompoundModel *,
|
||||
const G4DPMJET2_5InitialisationType initType = DEFAULT);
|
||||
virtual ~G4DPMJET2_5Model ();
|
||||
|
||||
G4DPMJET2_5Model(const G4DPMJET2_5Model &right);
|
||||
G4DPMJET2_5Model(const G4DPMJET2_5Model &right);
|
||||
|
||||
const G4DPMJET2_5Model& operator=(G4DPMJET2_5Model &right);
|
||||
const G4DPMJET2_5Model& operator=(G4DPMJET2_5Model &right);
|
||||
|
||||
virtual G4bool IsApplicable(const G4HadProjectile &theTrack,
|
||||
G4Nucleus &theTarget);
|
||||
|
||||
virtual G4HadFinalState *ApplyYourself(const G4HadProjectile &,
|
||||
G4Nucleus &);
|
||||
|
||||
G4GlaubAADataSetHandler *GetGlauberDataSetHandler ();
|
||||
virtual const std::pair<G4double, G4double> GetFatalEnergyCheckLevels() const;
|
||||
|
||||
G4bool IsApplicable (const G4HadProjectile &theTrack, G4Nucleus &theTarget);
|
||||
|
||||
virtual G4HadFinalState *ApplyYourself
|
||||
(const G4HadProjectile &, G4Nucleus &);
|
||||
|
||||
void SetVerboseLevel (G4int);
|
||||
|
||||
void SetExcitationHandler (G4ExcitationHandler *);
|
||||
void SetNoDeexcitation ();
|
||||
void SetDefaultDeexcitation ();
|
||||
G4ExcitationHandler *GetExcitationHandler () const;
|
||||
|
||||
void SetPreCompoundModel(G4VPreCompoundModel* value);
|
||||
void SetNoPreCompoundModel ();
|
||||
void SetDefaultPreCompoundModel ();
|
||||
G4VPreCompoundModel* GetPreCompoundModel() const;
|
||||
|
||||
void SetDPMInitialRandomSeeds (const G4int seed1, const G4int seed2);
|
||||
G4int GetDPMInitialRandomSeeds (const G4int i) const;
|
||||
inline G4GlaubAADataSetHandler *GetGlauberDataSetHandler ();
|
||||
|
||||
G4double GetMinEnergy( const G4Material *aMaterial,
|
||||
const G4Element *anElement ) const;
|
||||
G4double GetMaxEnergy( const G4Material *aMaterial,
|
||||
const G4Element *anElement ) const;
|
||||
|
||||
G4bool SetVerboseFortranOutput (const G4String filename);
|
||||
G4String GetVerboseFortranOutput () const;
|
||||
inline void SetVerboseLevel (G4int);
|
||||
|
||||
void SetDPMVariablesTAUFOR (const G4double TAUFOR_P,
|
||||
const G4int KTAUGE_P,
|
||||
const G4int ITAUVE_P);
|
||||
/* void SetDPMVariablesXCUTS (const G4double CVQ_P,
|
||||
const G4double CDQ_P,
|
||||
const G4double CSEA_P,
|
||||
const G4double SSMIMA_P);
|
||||
void SetDPMVariablesCRONINPT (const G4int MKCRON_P,
|
||||
const G4double CRONCO_P);
|
||||
void SetDPMVariablesSEADISTR (const G4double
|
||||
const G4double UNON_P,
|
||||
const G4double UNOM_P,
|
||||
const G4double UNOSEA_P);*/
|
||||
void SetNoDeexcitation ();
|
||||
void SetDefaultDeexcitation ();
|
||||
inline void SetExcitationHandler (G4ExcitationHandler *);
|
||||
inline G4ExcitationHandler *GetExcitationHandler () const;
|
||||
|
||||
void SetNoPreCompoundModel ();
|
||||
void SetDefaultPreCompoundModel ();
|
||||
inline void SetPreCompoundModel(G4VPreCompoundModel* value);
|
||||
inline G4VPreCompoundModel* GetPreCompoundModel() const;
|
||||
|
||||
inline void SetDPMInitialRandomSeeds (const G4int seed1, const G4int seed2);
|
||||
inline G4int GetDPMInitialRandomSeeds (const G4int i) const;
|
||||
|
||||
inline G4double GetMinEnergy( const G4Material *aMaterial,
|
||||
const G4Element *anElement ) const;
|
||||
inline G4double GetMaxEnergy( const G4Material *aMaterial,
|
||||
const G4Element *anElement ) const;
|
||||
|
||||
inline G4bool SetVerboseFortranOutput (const G4String filename);
|
||||
G4String GetVerboseFortranOutput () const;
|
||||
|
||||
inline void SetDPMVariablesTAUFOR (const G4double TAUFOR_P,
|
||||
const G4int KTAUGE_P,
|
||||
const G4int ITAUVE_P);
|
||||
|
||||
private:
|
||||
void DumpVerboseInformation1 (const G4int n) const;
|
||||
void DumpVerboseInformation2 (const G4String particleName,
|
||||
const G4ThreeVector p, const G4double E, const G4double T,
|
||||
const G4ThreeVector pinit) const;
|
||||
void DumpVerboseInformation3 (const G4int i, const G4int A, const G4int Z,
|
||||
const G4ThreeVector p, const G4double E, const G4double T,
|
||||
const G4ThreeVector pinit) const;
|
||||
void DumpVerboseInformation4 (const G4int i, const G4String particleName,
|
||||
const G4ThreeVector p, const G4double E, const G4double T,
|
||||
const G4ThreeVector pinit) const;
|
||||
void PrintWelcomeMessage () const;
|
||||
void Initialise ();
|
||||
private:
|
||||
|
||||
void DumpVerboseInformation1 (const G4int n) const;
|
||||
void DumpVerboseInformation2 (const G4String particleName,
|
||||
const G4ThreeVector p,
|
||||
const G4double E,
|
||||
const G4double T,
|
||||
const G4ThreeVector pinit) const;
|
||||
void DumpVerboseInformation3 (const G4int i, const G4int A,
|
||||
const G4int Z,
|
||||
const G4ThreeVector p,
|
||||
const G4double E,
|
||||
const G4double T,
|
||||
const G4ThreeVector pinit) const;
|
||||
void DumpVerboseInformation4 (const G4int i,
|
||||
const G4String particleName,
|
||||
const G4ThreeVector p,
|
||||
const G4double E,
|
||||
const G4double T,
|
||||
const G4ThreeVector pinit) const;
|
||||
void PrintWelcomeMessage () const;
|
||||
void Initialise ();
|
||||
|
||||
private:
|
||||
G4DPMJET2_5InitialisationType
|
||||
theInitType;
|
||||
G4DPMJET2_5InitialisationType theInitType;
|
||||
|
||||
G4GlaubAADataSetHandler *theGlauberDataSetHandler;
|
||||
G4GlaubAADataSetHandler *theGlauberDataSetHandler;
|
||||
|
||||
G4ParticleTable *theParticleTable;
|
||||
G4IonTable *theIonTable;
|
||||
G4ParticleTable *theParticleTable;
|
||||
G4IonTable *theIonTable;
|
||||
|
||||
G4bool debug;
|
||||
G4int debug_level;
|
||||
G4int lunber;
|
||||
G4double dpmver;
|
||||
G4String defaultDirName;
|
||||
G4bool debug;
|
||||
G4int debug_level;
|
||||
G4int lunber;
|
||||
G4double dpmver;
|
||||
G4String defaultDirName;
|
||||
|
||||
G4ExcitationHandler *theExcitationHandler;
|
||||
G4VPreCompoundModel *thePreComp;
|
||||
G4ExcitationHandler *theExcitationHandler;
|
||||
G4VPreCompoundModel *thePreComp;
|
||||
|
||||
G4double TAUFOR;
|
||||
G4int KTAUGE;
|
||||
G4int ITAUVE;
|
||||
G4double UNON;
|
||||
G4double UNOM;
|
||||
G4double UNOSEA;
|
||||
G4double CVQ;
|
||||
G4double CDQ;
|
||||
G4double CSEA;
|
||||
G4double SSMIMA;
|
||||
G4double VVMTHR;
|
||||
G4double SEASQ;
|
||||
G4int MKCRON;
|
||||
G4double CRONCO;
|
||||
G4int ISINGD;
|
||||
G4int ISINGX;
|
||||
G4int IDUBLD;
|
||||
G4double SDFRAC;
|
||||
G4double TAUFOR;
|
||||
G4int KTAUGE;
|
||||
G4int ITAUVE;
|
||||
G4double UNON;
|
||||
G4double UNOM;
|
||||
G4double UNOSEA;
|
||||
G4double CVQ;
|
||||
G4double CDQ;
|
||||
G4double CSEA;
|
||||
G4double SSMIMA;
|
||||
G4double VVMTHR;
|
||||
G4double SEASQ;
|
||||
G4int MKCRON;
|
||||
G4double CRONCO;
|
||||
G4int ISINGD;
|
||||
G4int ISINGX;
|
||||
G4int IDUBLD;
|
||||
G4double SDFRAC;
|
||||
|
||||
|
||||
ftnlogical LTRUE;
|
||||
ftnlogical LFALSE;
|
||||
ftnlogical LTRUE;
|
||||
ftnlogical LFALSE;
|
||||
|
||||
G4String verboseFortranFile;
|
||||
G4String verboseFortranFile;
|
||||
};
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline G4GlaubAADataSetHandler *G4DPMJET2_5Model::GetGlauberDataSetHandler ()
|
||||
{return theGlauberDataSetHandler;}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline void G4DPMJET2_5Model::SetExcitationHandler
|
||||
(G4ExcitationHandler *aExcitationHandler)
|
||||
{theExcitationHandler = aExcitationHandler;}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline G4ExcitationHandler *G4DPMJET2_5Model::GetExcitationHandler () const
|
||||
{return theExcitationHandler;}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline void G4DPMJET2_5Model::SetPreCompoundModel
|
||||
(G4VPreCompoundModel *aPreCompoundModel)
|
||||
{thePreComp = aPreCompoundModel;}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline G4VPreCompoundModel *G4DPMJET2_5Model::GetPreCompoundModel () const
|
||||
{return thePreComp;}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline void G4DPMJET2_5Model::SetVerboseLevel (G4int verboseLevel1)
|
||||
{verboseLevel = verboseLevel1;}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline G4double G4DPMJET2_5Model::GetMinEnergy( const G4Material *,
|
||||
const G4Element * ) const
|
||||
{return theMinEnergy;}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline G4double G4DPMJET2_5Model::GetMaxEnergy( const G4Material *,
|
||||
const G4Element * ) const
|
||||
{return theMaxEnergy;}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
// SetVerboseFortranOutput
|
||||
//
|
||||
inline G4String G4DPMJET2_5Model::GetVerboseFortranOutput () const
|
||||
{return verboseFortranFile;}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
inline void G4DPMJET2_5Model::DumpVerboseInformation2
|
||||
(const G4String particleName, const G4ThreeVector p,
|
||||
const G4double E, const G4double T, const G4ThreeVector pinit) const
|
||||
{
|
||||
G4cout <<"Name = " <<particleName <<G4endl;
|
||||
G4cout <<" Momentum = " <<p/MeV <<" MeV/c" <<G4endl;
|
||||
G4cout <<" T. Energy = " <<E/MeV <<" MeV" <<G4endl;
|
||||
G4cout <<" K. Energy = " <<T/MeV <<" MeV" <<G4endl;
|
||||
if (verboseLevel >= 3)
|
||||
{
|
||||
G4ThreeVector axis = pinit.unit();
|
||||
G4double pz = p.dot(axis);
|
||||
G4cout <<" Transverse mass = " <<std::sqrt(E*E-pz*pz)/MeV <<" MeV"
|
||||
<<G4endl;
|
||||
G4cout <<" Rapidity = "
|
||||
<<0.5*std::log((E+pz)/(E-pz)) <<G4endl;
|
||||
}
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
inline void G4DPMJET2_5Model::DumpVerboseInformation3 (const G4int i,
|
||||
const G4int A, const G4int Z, const G4ThreeVector p,
|
||||
const G4double E, const G4double T, const G4ThreeVector pinit) const
|
||||
{
|
||||
G4cout <<"----------------------------------------"
|
||||
<<"----------------------------------------" <<G4endl;
|
||||
G4cout <<"The nuclear fragment #" <<i <<" before" <<G4endl;
|
||||
G4cout <<"----------------------------------------"
|
||||
<<"----------------------------------------" <<G4endl;
|
||||
|
||||
std::ostringstream tmpStream;
|
||||
tmpStream <<"(A = " <<A <<", Z = " <<Z <<")";
|
||||
G4String AZ = tmpStream.str();
|
||||
|
||||
DumpVerboseInformation2(AZ, p, E, T, pinit);
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
inline void G4DPMJET2_5Model::DumpVerboseInformation4 (const G4int i,
|
||||
const G4String particleName, const G4ThreeVector p,
|
||||
const G4double E, const G4double T, const G4ThreeVector pinit) const
|
||||
{
|
||||
G4cout <<"----------------------------------------"
|
||||
<<"----------------------------------------" <<G4endl;
|
||||
G4cout <<"The nuclear fragment #" <<i <<" after" <<G4endl;
|
||||
G4cout <<"----------------------------------------"
|
||||
<<"----------------------------------------" <<G4endl;
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
DumpVerboseInformation2(particleName, p, E, T, pinit);
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
inline void G4DPMJET2_5Model::SetDPMInitialRandomSeeds (const G4int seed1,
|
||||
const G4int seed2)
|
||||
{
|
||||
@@ -306,8 +266,9 @@ inline void G4DPMJET2_5Model::SetDPMInitialRandomSeeds (const G4int seed1,
|
||||
G4int s2 = seed2;
|
||||
rd2in_ (&s1, &s2);
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline G4int G4DPMJET2_5Model::GetDPMInitialRandomSeeds (const G4int i)
|
||||
const
|
||||
{
|
||||
@@ -317,8 +278,9 @@ inline G4int G4DPMJET2_5Model::GetDPMInitialRandomSeeds (const G4int i)
|
||||
else if (i == 2) return seed2;
|
||||
else return 0;
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline void G4DPMJET2_5Model::SetDPMVariablesTAUFOR (const G4double TAUFOR_P,
|
||||
const G4int KTAUGE_P, const G4int ITAUVE_P)
|
||||
{
|
||||
@@ -329,6 +291,7 @@ inline void G4DPMJET2_5Model::SetDPMVariablesTAUFOR (const G4double TAUFOR_P,
|
||||
taufo_.ktauge = KTAUGE;
|
||||
taufo_.itauve = ITAUVE;
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -36,6 +36,9 @@
|
||||
/// \file hadronic/Hadr02/include/G4FullGlaubAADataSet.hh
|
||||
/// \brief Definition of the G4FullGlaubAADataSet class
|
||||
//
|
||||
// $Id: G4FullGlaubAADataSet.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4FullGlaubAADataSet_h
|
||||
#define G4FullGlaubAADataSet_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
@@ -65,30 +68,34 @@
|
||||
|
||||
#include <fstream>
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4FullGlaubAADataSet : public G4GlaubAADataSet
|
||||
{
|
||||
public:
|
||||
G4FullGlaubAADataSet ();
|
||||
G4FullGlaubAADataSet (const G4int AP1, const G4int AT1);
|
||||
~G4FullGlaubAADataSet ();
|
||||
G4FullGlaubAADataSet (const G4FullGlaubAADataSet &right);
|
||||
public:
|
||||
|
||||
const G4FullGlaubAADataSet& operator=(G4FullGlaubAADataSet &right);
|
||||
G4FullGlaubAADataSet ();
|
||||
G4FullGlaubAADataSet (const G4int AP1, const G4int AT1);
|
||||
virtual ~G4FullGlaubAADataSet ();
|
||||
|
||||
G4bool CreateGlauberData (const G4int AP1, const G4int AT1);
|
||||
G4double *GetArrayPointerN (const G4double ppn = 0.0);
|
||||
G4double *GetArrayPointerM (const G4double ppn = 0.0);
|
||||
G4FullGlaubAADataSet (const G4FullGlaubAADataSet &right);
|
||||
|
||||
std::ofstream & WriteDataToFile (std::ofstream &File) const;
|
||||
std::ifstream & ReadDataFromFile (std::ifstream &File);
|
||||
const G4FullGlaubAADataSet& operator=(G4FullGlaubAADataSet &right);
|
||||
|
||||
public:
|
||||
G4double bsiten[24][200];
|
||||
G4double bsitem[24][200];
|
||||
G4bool CreateGlauberData (const G4int AP1, const G4int AT1);
|
||||
G4double *GetArrayPointerN (const G4double ppn = 0.0);
|
||||
G4double *GetArrayPointerM (const G4double ppn = 0.0);
|
||||
|
||||
G4double wu10;
|
||||
std::ofstream & WriteDataToFile (std::ofstream &File) const;
|
||||
std::ifstream & ReadDataFromFile (std::ifstream &File);
|
||||
|
||||
G4double bsiten[24][200];
|
||||
G4double bsitem[24][200];
|
||||
|
||||
G4double wu10;
|
||||
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -36,6 +36,9 @@
|
||||
/// \file hadronic/Hadr02/include/G4GlaubAADataSet.hh
|
||||
/// \brief Definition of the G4GlaubAADataSet class
|
||||
//
|
||||
// $Id: G4GlaubAADataSet.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4GlaubAADataSet_h
|
||||
#define G4GlaubAADataSet_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
@@ -60,34 +63,33 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
#include "G4VGlauberDataSet.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include <fstream>
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4GlaubAADataSet : public G4VGlauberDataSet
|
||||
{
|
||||
public:
|
||||
G4GlaubAADataSet ();
|
||||
virtual ~G4GlaubAADataSet ();
|
||||
G4GlaubAADataSet (const G4GlaubAADataSet &right);
|
||||
public:
|
||||
|
||||
const G4GlaubAADataSet& operator=(G4GlaubAADataSet &right);
|
||||
G4GlaubAADataSet ();
|
||||
virtual ~G4GlaubAADataSet ();
|
||||
G4GlaubAADataSet (const G4GlaubAADataSet &right);
|
||||
|
||||
const G4GlaubAADataSet& operator=(G4GlaubAADataSet &right);
|
||||
|
||||
private:
|
||||
G4int GetZP () const;
|
||||
G4int GetZT () const;
|
||||
|
||||
virtual G4bool CreateGlauberData (const G4int AP1, const G4int AT1);
|
||||
|
||||
void DefineAZStabilityLine();
|
||||
|
||||
private:
|
||||
G4int GetZP () const;
|
||||
G4int GetZT () const;
|
||||
|
||||
virtual G4bool CreateGlauberData (const G4int AP1, const G4int AT1);
|
||||
|
||||
void DefineAZStabilityLine();
|
||||
|
||||
public:
|
||||
G4int stabZ[211];
|
||||
public:
|
||||
G4int stabZ[211];
|
||||
};
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -36,6 +36,9 @@
|
||||
/// \file hadronic/Hadr02/include/G4GlaubAADataSetHandler.hh
|
||||
/// \brief Definition of the G4GlaubAADataSetHandler class
|
||||
//
|
||||
// $Id: G4GlaubAADataSetHandler.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4GlaubAADataSetHandler_h
|
||||
#define G4GlaubAADataSetHandler_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
@@ -59,6 +62,7 @@
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4Isotope.hh"
|
||||
#include "globals.hh"
|
||||
@@ -76,63 +80,73 @@ class G4DPMJET2_5Model;
|
||||
|
||||
typedef std::map< G4int, G4ParamType1GlaubAADataSet *, std::less< G4int > >
|
||||
G4GlaubAADataSetIndex;
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//class G4GlaubAADataSetHandler : public G4VGlauberDataSetHandler
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4GlaubAADataSetHandler
|
||||
{
|
||||
|
||||
protected:
|
||||
G4GlaubAADataSetHandler ();
|
||||
protected:
|
||||
G4GlaubAADataSetHandler ();
|
||||
|
||||
public:
|
||||
virtual ~G4GlaubAADataSetHandler ();
|
||||
static G4GlaubAADataSetHandler* getInstance ();
|
||||
public:
|
||||
|
||||
G4bool IsGlauberDataSetAvailable (const G4int AP, const G4int AT) const;
|
||||
G4bool SetCurrentGlauberDataSet (const G4int AP, const G4int AT,
|
||||
const G4double ppn = 0.0);
|
||||
G4GlaubAADataSet *GetCurrentGlauberDataSet () const;
|
||||
void ResetCurrentGlauberDataSet ();
|
||||
G4double GetValueN (const G4double v, const G4double ppn1 = 0.0);
|
||||
G4double GetValueM (const G4double v, const G4double ppn1 = 0.0);
|
||||
virtual ~G4GlaubAADataSetHandler ();
|
||||
static G4GlaubAADataSetHandler* getInstance ();
|
||||
|
||||
void SetMaxGlauberDataSets (const G4int n);
|
||||
G4int GetMaxGlauberDataSets () const;
|
||||
G4bool IsGlauberDataSetAvailable (const G4int AP, const G4int AT) const;
|
||||
G4bool SetCurrentGlauberDataSet (const G4int AP, const G4int AT,
|
||||
const G4double ppn = 0.0);
|
||||
G4GlaubAADataSet *GetCurrentGlauberDataSet () const;
|
||||
void ResetCurrentGlauberDataSet ();
|
||||
G4double GetValueN (const G4double v, const G4double ppn1 = 0.0);
|
||||
G4double GetValueM (const G4double v, const G4double ppn1 = 0.0);
|
||||
|
||||
void SetMaxGlauberDataSets (const G4int n);
|
||||
G4int GetMaxGlauberDataSets () const;
|
||||
|
||||
void SetVerboseLevel (const G4int i);
|
||||
G4int GetVerboseLevel () const;
|
||||
G4int UnloadAllGlauberData ();
|
||||
inline void SetVerboseLevel (const G4int i);
|
||||
inline G4int GetVerboseLevel () const;
|
||||
|
||||
G4int UnloadAllGlauberData ();
|
||||
|
||||
private:
|
||||
G4VGlauberDataSet *LoadGlauberDataReturnPtr(const G4int AP, const G4int AT);
|
||||
private:
|
||||
|
||||
G4bool CheckIfSpace () const;
|
||||
G4int GetIndexID (const G4int AP, const G4int AT) const;
|
||||
G4String GetStringID (const G4int AP, const G4int AT) const;
|
||||
G4String GetProjectileStringID (const G4int AP) const;
|
||||
G4String GetTargetStringID (const G4int AT) const;
|
||||
G4VGlauberDataSet *LoadGlauberDataReturnPtr(const G4int AP, const G4int AT);
|
||||
|
||||
G4bool CheckIfSpace () const;
|
||||
G4int GetIndexID (const G4int AP, const G4int AT) const;
|
||||
G4String GetStringID (const G4int AP, const G4int AT) const;
|
||||
G4String GetProjectileStringID (const G4int AP) const;
|
||||
G4String GetTargetStringID (const G4int AT) const;
|
||||
|
||||
static G4GlaubAADataSetHandler *instance;
|
||||
static G4GlaubAADataSetHandler *instance;
|
||||
|
||||
G4GlaubAADataSetIndex theIndex;
|
||||
G4String glauberDataSetDir;
|
||||
G4GlaubAADataSetIndex theIndex;
|
||||
G4String glauberDataSetDir;
|
||||
|
||||
G4int maxGlauberDataSets;
|
||||
G4int cntGlauberDataSets;
|
||||
G4int maxGlauberDataSets;
|
||||
G4int cntGlauberDataSets;
|
||||
|
||||
G4GlaubAADataSet *theCurrentGlauberDataSet;
|
||||
G4double ppnCurrent;
|
||||
G4bool usingLocalGlauberDataSet;
|
||||
G4GlaubAADataSet *theCurrentGlauberDataSet;
|
||||
G4double ppnCurrent;
|
||||
G4bool usingLocalGlauberDataSet;
|
||||
|
||||
G4int maxArray;
|
||||
G4int maxArray;
|
||||
|
||||
G4int verboseLevel;
|
||||
G4int verboseLevel;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline void G4GlaubAADataSetHandler::SetVerboseLevel (const G4int i)
|
||||
{verboseLevel = i;}
|
||||
{verboseLevel = i;}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline G4int G4GlaubAADataSetHandler::GetVerboseLevel () const
|
||||
{return verboseLevel;}
|
||||
{return verboseLevel;}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,296 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 G4HIJING_Interface_hh
|
||||
#define G4HIJING_Interface_hh
|
||||
|
||||
//
|
||||
// MODULE: G4HIJING_Model.hh
|
||||
//
|
||||
// Version: 1.B
|
||||
// Date: 10/09/2013
|
||||
// Author: Khaled Abdel-Waged
|
||||
// Institute: Umm Al-Qura University
|
||||
// Country: SAUDI ARABIA
|
||||
//
|
||||
|
||||
// First: 1-COMMON BLOCK FOR OPTIONS AND PARAMETERS
|
||||
//-----
|
||||
// HIPARNT
|
||||
// input parameters
|
||||
// HIPR1, HIPR2 for event options
|
||||
// HINT1, HINT2 of current event
|
||||
//---------------------------------
|
||||
struct cchijinghiparnt
|
||||
{
|
||||
|
||||
float hipr1[100];
|
||||
G4int ihpr2[50];
|
||||
float hint1[100];
|
||||
G4int ihnt2[50];
|
||||
|
||||
};
|
||||
|
||||
//****************************************************************************
|
||||
// Second: 5-COMMON BLOCKS FOR EVENT INFORMATION
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// HIMAIN1-> Global information of the events are defined
|
||||
//
|
||||
struct cchijinghimain1
|
||||
{
|
||||
G4int natt;
|
||||
float eatt;
|
||||
G4int jatt, nt, np,n0,n01,n10,n11;
|
||||
};
|
||||
//-----------
|
||||
// HIMAIN2->information of produced stable and undecayed particles
|
||||
//-------
|
||||
struct cchijinghimain2
|
||||
{
|
||||
G4int katt[4][130000];
|
||||
float patt[4][130000];
|
||||
};
|
||||
//--------
|
||||
// HIJJET1-> information about produced partons which
|
||||
// are connected with the valence quarks, diquarks,...
|
||||
//--------
|
||||
struct cchijinghijjet1
|
||||
{
|
||||
G4int npj[300], kfpj[500][300];
|
||||
float pjpx[500][300],pjpy[500][300], pjpz[500][300],pjpe[500][300];
|
||||
float pjpm[500][300];
|
||||
G4int ntj[300], kftj[500][300];
|
||||
float pjtx[500][300], pjty[500][300], pjtz[500][300];
|
||||
float pjte[500][300], pjtm[500][300];
|
||||
};
|
||||
//--------
|
||||
// HIJJET1-> information about produced partons which
|
||||
// will form string systems without being connected with
|
||||
// valence quarks, diquarks,...
|
||||
// ------
|
||||
struct cchijinghijjet2
|
||||
{
|
||||
G4int nsg, njsg[900], iasg[3][900], k1sg[100][900];
|
||||
G4int k2sg[100][900];
|
||||
float pxsg[100][900], pysg[100][900], pzsg[100][900];
|
||||
float pesg[100][900], pmsg[100][900];
|
||||
};
|
||||
|
||||
//------
|
||||
// HISTRNG
|
||||
// contain information about the projectile and target nucleons
|
||||
//-----
|
||||
struct cchijinghistrng
|
||||
{
|
||||
G4int nfp[15][300];
|
||||
float pp[15][300];
|
||||
G4int nft[15][300];
|
||||
float pt[15][300];
|
||||
};
|
||||
//****************************************************************************
|
||||
// third: 2-COMMON BLOCKS which contain specific information
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
struct cchijinghijjet4
|
||||
{
|
||||
G4int ndr, iadr[2][900], kfdr[900];
|
||||
float pdr[5][900];
|
||||
};
|
||||
|
||||
struct cchijinghijcrdn
|
||||
{
|
||||
float yp[300][3], yt[300][3];
|
||||
};
|
||||
//---------------------------------------------------------
|
||||
// fourth: 5-Other common blocks
|
||||
// --------------------------------------------------------
|
||||
|
||||
|
||||
struct cchijingbveg1
|
||||
{
|
||||
float xl, xu, acc;
|
||||
G4int ndim, ncall, itmx, nprn;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
struct cchijingseedvax
|
||||
{
|
||||
G4int num1;
|
||||
};
|
||||
|
||||
|
||||
|
||||
struct cchijingranseed
|
||||
{
|
||||
float nseed;
|
||||
};
|
||||
|
||||
|
||||
|
||||
struct cchijinghijdat
|
||||
{
|
||||
float hidat0[10][10],hidat[10];
|
||||
};
|
||||
|
||||
|
||||
struct cchijinghipyint
|
||||
{
|
||||
G4int mint4, mint5;
|
||||
float atco[20][200], atxs[200+1];
|
||||
};
|
||||
|
||||
// hijing
|
||||
|
||||
extern "C"
|
||||
{
|
||||
// initialize HIJING for specified event type,
|
||||
// collision frame and energy
|
||||
|
||||
//extern void hijset_ (float*,
|
||||
//// const char*, const char*,const char*,
|
||||
// G4int*, G4int*, G4int*, G4int*);
|
||||
|
||||
extern void hijset_ (float*);
|
||||
|
||||
// to generate a complete event as specified by sybroutine HIJSET
|
||||
|
||||
//extern void hijing_ (const char*,
|
||||
// float*, float*);
|
||||
|
||||
extern void hijing_ (float*,float*);
|
||||
|
||||
extern float ulmass_ (G4int*);
|
||||
|
||||
|
||||
|
||||
// reset all relevant common blocks and variables and initialize HIJING
|
||||
// for each event
|
||||
|
||||
extern void hijini_ ();
|
||||
|
||||
// calculate cross sections for minijet production, cross section of
|
||||
// the triggered processes, elastic, inelastic, total cross section..
|
||||
extern void hijcrs_ ();
|
||||
|
||||
//
|
||||
// initialize program for generating hard scattering
|
||||
//as specified by parameters and options
|
||||
|
||||
extern void jetini_ (G4int*, G4int*, G4int*);
|
||||
//
|
||||
|
||||
// re-initiate PYTHIA for the triggered hard processe
|
||||
// or simulate one hard scattering among the multiple jet production
|
||||
//per NN-collision
|
||||
|
||||
extern void hijhrd_ (G4int*, G4int*, G4int*, G4int*, G4int*);
|
||||
|
||||
//
|
||||
//generate soft interaction for each binary NN-collision
|
||||
|
||||
extern void hijsft_ (G4int*, G4int*, G4int*);
|
||||
|
||||
// rearrange gluon jets in a string system according to their rapidities
|
||||
|
||||
extern void hijsrt_ (G4int*, G4int*);
|
||||
|
||||
// perform jet quenching by allowing final state interaction of produced jet
|
||||
// inside excited strings
|
||||
|
||||
extern void quench_ (G4int*, G4int*);
|
||||
|
||||
//
|
||||
// arrange produced partons together with the valence quarks and diquarks
|
||||
|
||||
extern void hijfrg_ (G4int*, G4int*, G4int*);
|
||||
|
||||
// perform soft radiation according to the Lund dipole approx.
|
||||
|
||||
extern void attrad_ (G4int*);
|
||||
|
||||
// generate flavor codes of the valence quark (diquark)
|
||||
//inside a given nucleon (hadron).
|
||||
|
||||
extern void attflv_ (G4int*, G4int*, G4int*);
|
||||
|
||||
// perform elastic scattering and possible elastic NN cascading
|
||||
|
||||
extern void hijcsc_ (G4int*, G4int*);
|
||||
|
||||
// three parameter Wood-Sax distribution
|
||||
|
||||
extern void hijwds_ (G4int*, G4int*, float*);
|
||||
|
||||
// gives profile function of 2 colliding nuclei at a given impact parameter
|
||||
|
||||
extern float profile_ (float*);
|
||||
|
||||
// transform the produced particles from c.m to lab frame
|
||||
|
||||
extern void hiboost_ ();
|
||||
|
||||
//----------------------------------------
|
||||
// the default values of the parametrs and options to initialize
|
||||
// the event record common blocks
|
||||
|
||||
extern void g4hijingblockdata_ ();
|
||||
// ----------------------
|
||||
// random generator
|
||||
|
||||
extern void rlu_ (G4int*);
|
||||
|
||||
//-----------------------------------------
|
||||
extern struct cchijinghiparnt hiparnt_;
|
||||
|
||||
extern struct cchijinghimain1 himain1_;
|
||||
extern struct cchijinghimain2 himain2_;
|
||||
|
||||
extern struct cchijinghijjet1 hijjet1_;
|
||||
extern struct cchijinghijjet2 hijjet2_;
|
||||
|
||||
extern struct cchijinghistrng histrng_;
|
||||
|
||||
extern struct cchijinghijjet4 hijjet4_;
|
||||
|
||||
extern struct cchijinghijcrdn hijcrdn_;
|
||||
|
||||
extern struct cchijingbveg1 bveg1_;
|
||||
|
||||
extern struct cchijingseedvax seedvax_;
|
||||
|
||||
extern struct cchijingranseed ranseed_;
|
||||
|
||||
extern struct cchijinghijdat hijdat_;
|
||||
|
||||
extern struct cchijinghipyint hipyint_;
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 G4HIJING_Model_hh
|
||||
#define G4HIJING_Model_hh
|
||||
//
|
||||
// MODULE: G4HIJING_Model.hh
|
||||
//
|
||||
// Version: 1.B
|
||||
// Date: 10/90/2013
|
||||
// Author: Khaled Abdel-Waged
|
||||
// Institute: Umm Al-Qura University
|
||||
//Country: SAUDI ARABIA
|
||||
//
|
||||
// Class Description
|
||||
//
|
||||
//
|
||||
// Class Description - End
|
||||
//
|
||||
#include "G4Nucleon.hh"
|
||||
#include "G4Nucleus.hh"
|
||||
#include "G4VIntraNuclearTransportModel.hh"
|
||||
#include "G4KineticTrackVector.hh"
|
||||
#include "G4FragmentVector.hh"
|
||||
#include "G4ParticleChange.hh"
|
||||
#include "G4ReactionProductVector.hh"
|
||||
#include "G4ReactionProduct.hh"
|
||||
#include "G4IntraNucleiCascader.hh"
|
||||
#include "G4Track.hh"
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
//---------------
|
||||
|
||||
class G4HadFinalState; //khaled new
|
||||
class HistoManager;
|
||||
//-------------------------------------------------------------
|
||||
|
||||
class G4HIJING_Model : public G4VIntraNuclearTransportModel {
|
||||
|
||||
|
||||
|
||||
public:
|
||||
|
||||
G4HIJING_Model(const G4String& name = "HIJING");
|
||||
|
||||
|
||||
virtual ~G4HIJING_Model ();
|
||||
|
||||
// G4double GetMinEnergy( const G4Material *aMaterial,
|
||||
// const G4Element *anElement ) const;
|
||||
|
||||
// G4double GetMaxEnergy( const G4Material *aMaterial,
|
||||
// const G4Element *anElement ) const;
|
||||
|
||||
|
||||
G4ReactionProductVector* Propagate(G4KineticTrackVector*
|
||||
theSecondaries, G4V3DNucleus* theTarget);
|
||||
|
||||
|
||||
|
||||
virtual G4HadFinalState *ApplyYourself
|
||||
(const G4HadProjectile &, G4Nucleus &);
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
G4int operator==(G4HIJING_Model& right) {
|
||||
return (this == &right);
|
||||
}
|
||||
|
||||
G4int operator!=(G4HIJING_Model& right) {
|
||||
return (this != &right);
|
||||
}
|
||||
|
||||
|
||||
// -------------initialize HIJING ------------------------
|
||||
float efrm; //CM energy per nucleon (GeV/A)
|
||||
float bmin; //impact parameter
|
||||
float bmax;
|
||||
G4int Nproduce; //Number of produced particles
|
||||
//-------------------------------------------------------
|
||||
|
||||
G4int verbose; //print options
|
||||
|
||||
//
|
||||
|
||||
void InitialiseDataTables();
|
||||
G4double Eplab(G4double, G4double);
|
||||
|
||||
G4int CurrentEvent;
|
||||
|
||||
// void ConvertToFortran(char*, const char*);
|
||||
|
||||
private:
|
||||
|
||||
|
||||
void WelcomeMessage () const;
|
||||
// -------------------------------------------
|
||||
G4HadFinalState theResult; //khaled new
|
||||
HistoManager *fHistoManager;
|
||||
//-------------------------------------------
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -36,6 +36,9 @@
|
||||
/// \file hadronic/Hadr02/include/G4ParamType1GlaubAADataSet.hh
|
||||
/// \brief Definition of the G4ParamType1GlaubAADataSet class
|
||||
//
|
||||
// $Id: G4ParamType1GlaubAADataSet.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4ParamType1GlaubAADataSet_h
|
||||
#define G4ParamType1GlaubAADataSet_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
@@ -68,50 +71,53 @@
|
||||
|
||||
#include "globals.hh"
|
||||
#include <fstream>
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
|
||||
class G4ParamType1GlaubAADataSet : public G4GlaubAADataSet,
|
||||
public G4Type1GlauberParameterisation
|
||||
public G4Type1GlauberParameterisation
|
||||
{
|
||||
public:
|
||||
G4ParamType1GlaubAADataSet ();
|
||||
G4ParamType1GlaubAADataSet (const G4int AP1, const G4int AT1);
|
||||
G4ParamType1GlaubAADataSet (G4FullGlaubAADataSet *fullGlauberDataSet);
|
||||
~G4ParamType1GlaubAADataSet ();
|
||||
G4ParamType1GlaubAADataSet (const G4ParamType1GlaubAADataSet &right);
|
||||
public:
|
||||
|
||||
const G4ParamType1GlaubAADataSet& operator=(G4ParamType1GlaubAADataSet &right);
|
||||
G4ParamType1GlaubAADataSet ();
|
||||
G4ParamType1GlaubAADataSet (const G4int AP1, const G4int AT1);
|
||||
G4ParamType1GlaubAADataSet (G4FullGlaubAADataSet *fullGlauberDataSet);
|
||||
~G4ParamType1GlaubAADataSet ();
|
||||
G4ParamType1GlaubAADataSet (const G4ParamType1GlaubAADataSet &right);
|
||||
|
||||
G4bool CreateGlauberData (const G4int AP1, const G4int AT1);
|
||||
G4bool CreateGlauberData (G4FullGlaubAADataSet *fullGlauberDataSet);
|
||||
// G4FullGlaubAADataSet *GetFullGlauberDataSet ();
|
||||
const
|
||||
G4ParamType1GlaubAADataSet& operator=(G4ParamType1GlaubAADataSet &right);
|
||||
|
||||
G4double GetValueN (const G4double f, const G4double ppn = 0.0) const;
|
||||
G4double GetValueM (const G4double f, const G4double ppn = 0.0) const;
|
||||
G4bool CreateGlauberData (const G4int AP1, const G4int AT1);
|
||||
G4bool CreateGlauberData (G4FullGlaubAADataSet *fullGlauberDataSet);
|
||||
|
||||
inline G4double GetValueN (const G4double f, const G4double ppn = 0.0) const;
|
||||
inline G4double GetValueM (const G4double f, const G4double ppn = 0.0) const;
|
||||
|
||||
// G4double *GetArrayPointerN (const G4double ppn);
|
||||
// G4double *GetArrayPointerM (const G4double ppn);
|
||||
|
||||
std::ofstream & WriteDataToFile (std::ofstream &File) const;
|
||||
std::ifstream & ReadDataFromFile (std::ifstream &File);
|
||||
|
||||
public:
|
||||
// G4double bsiten[200];
|
||||
// G4double bsitem[200];
|
||||
std::ofstream & WriteDataToFile (std::ofstream &File) const;
|
||||
std::ifstream & ReadDataFromFile (std::ifstream &File);
|
||||
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
// GetValueN
|
||||
//
|
||||
inline G4double G4ParamType1GlaubAADataSet::GetValueN (const G4double f,
|
||||
const G4double ppn) const
|
||||
{return GetParameterisedValueN (f, ppn);}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
inline
|
||||
G4double G4ParamType1GlaubAADataSet::GetValueN (const G4double f,
|
||||
const G4double ppn) const
|
||||
{return GetParameterisedValueN (f, ppn);}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
// GetValueM
|
||||
//
|
||||
inline G4double G4ParamType1GlaubAADataSet::GetValueM (const G4double f,
|
||||
const G4double ppn) const
|
||||
{return GetParameterisedValueM (f, ppn);}
|
||||
inline
|
||||
G4double G4ParamType1GlaubAADataSet::GetValueM (const G4double f,
|
||||
const G4double ppn) const
|
||||
{return GetParameterisedValueM (f, ppn);}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -36,6 +36,9 @@
|
||||
/// \file hadronic/Hadr02/include/G4Type1GlauberParameterisation.hh
|
||||
/// \brief Definition of the G4Type1GlauberParameterisation class
|
||||
//
|
||||
// $Id: G4Type1GlauberParameterisation.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4Type1GlauberParameterisation_h
|
||||
#define G4Type1GlauberParameterisation_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
@@ -62,38 +65,40 @@
|
||||
|
||||
#include "globals.hh"
|
||||
#include <fstream>
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4Type1GlauberParameterisation
|
||||
{
|
||||
public:
|
||||
G4Type1GlauberParameterisation ();
|
||||
~G4Type1GlauberParameterisation ();
|
||||
public:
|
||||
|
||||
G4double GetFitParameters (const G4double *bsite, G4double *p) const;
|
||||
G4Type1GlauberParameterisation ();
|
||||
~G4Type1GlauberParameterisation ();
|
||||
|
||||
G4double GetParameterisedValueN (const G4double f, const G4double ppn) const;
|
||||
G4double GetParameterisedValueM (const G4double f, const G4double ppn) const;
|
||||
G4double GetFitParameters (const G4double *bsite, G4double *p) const;
|
||||
|
||||
public:
|
||||
G4int maxArrayp;
|
||||
G4int maxigp;
|
||||
G4double GetParameterisedValueN (const G4double f, const G4double ppn) const;
|
||||
G4double GetParameterisedValueM (const G4double f, const G4double ppn) const;
|
||||
|
||||
G4double paramn[24][10];
|
||||
G4double paramm[24][10];
|
||||
G4int maxArrayp;
|
||||
G4int maxigp;
|
||||
|
||||
G4double paramn[24][10];
|
||||
G4double paramm[24][10];
|
||||
|
||||
G4double mun1[24];
|
||||
G4double mun2[24];
|
||||
G4double cn[24];
|
||||
G4double mum1[24];
|
||||
G4double mum2[24];
|
||||
G4double cm[24];
|
||||
G4double mun1[24];
|
||||
G4double mun2[24];
|
||||
G4double cn[24];
|
||||
G4double mum1[24];
|
||||
G4double mum2[24];
|
||||
G4double cm[24];
|
||||
|
||||
G4double limit1;
|
||||
G4double limit2;
|
||||
G4double limit3;
|
||||
G4double limit4;
|
||||
G4double limit1;
|
||||
G4double limit2;
|
||||
G4double limit3;
|
||||
G4double limit4;
|
||||
};
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -32,6 +32,9 @@
|
||||
/// \file hadronic/Hadr02/include/G4UrQMD1_3Interface.hh
|
||||
/// \brief Definition of the G4UrQMD1_3Interface class
|
||||
//
|
||||
// $Id: G4UrQMD1_3Interface.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4UrQMD1_3Interface_hh
|
||||
#define G4UrQMD1_3Interface_hh
|
||||
|
||||
@@ -57,7 +60,10 @@
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
|
||||
// coms
|
||||
//
|
||||
const G4int nmax = 500;
|
||||
@@ -149,6 +155,7 @@ const G4int jmax=7;
|
||||
|
||||
typedef G4int ftnlogical;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
// Standard common block for UrQMD
|
||||
// Common options for coms.f
|
||||
@@ -162,14 +169,16 @@ G4double u_elab,u_imp;
|
||||
G4int u_sptar,u_spproj;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13sys
|
||||
{
|
||||
|
||||
G4int npart, nbar, nmes, ctag,nsteps,uid_cnt,
|
||||
ranseed,event,ap,at,zp,zt,eos,dectag,
|
||||
nhardres, nsoftres, ndecres, nelcoll, nblcoll;
|
||||
{
|
||||
G4int npart, nbar, nmes, ctag,nsteps,uid_cnt,
|
||||
ranseed,event,ap,at,zp,zt,eos,dectag,
|
||||
nhardres, nsoftres, ndecres, nelcoll, nblcoll;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13rsys
|
||||
{
|
||||
@@ -178,140 +187,147 @@ G4double time,acttime,bdist,bimp,bmin,ebeam,ecm;
|
||||
|
||||
struct ccurqmd13comseed
|
||||
{
|
||||
ftnlogical
|
||||
firstseed;
|
||||
ftnlogical firstseed;
|
||||
};
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13logic
|
||||
{
|
||||
ftnlogical
|
||||
lsct[nmax], logSky, logYuk, logCb, logPau;
|
||||
|
||||
ftnlogical lsct[nmax], logSky, logYuk, logCb, logPau;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13mdprop
|
||||
{
|
||||
G4double
|
||||
r0_t[nmax], rx_t[nmax], ry_t[nmax], rz_t[nmax];
|
||||
G4double r0_t[nmax], rx_t[nmax], ry_t[nmax], rz_t[nmax];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13cuts
|
||||
{
|
||||
G4double
|
||||
cutmax, cutPau, cutCb, cutYuk, cutSky, cutdww;
|
||||
G4double cutmax, cutPau, cutCb, cutYuk, cutSky, cutdww;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13spdata
|
||||
{
|
||||
G4double
|
||||
spx[nspl], spPauy[nspl], outPau[nspl],
|
||||
spCby[nspl], outCb[nspl],
|
||||
spYuky[nspl], outYuk[nspl],
|
||||
spSkyy[nspl], outSky[nspl],
|
||||
spdwwy[nspl], outdww[nspl];
|
||||
G4double spx[nspl], spPauy[nspl], outPau[nspl],
|
||||
spCby[nspl], outCb[nspl],
|
||||
spYuky[nspl], outYuk[nspl],
|
||||
spSkyy[nspl], outSky[nspl],
|
||||
spdwwy[nspl], outdww[nspl];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13isys
|
||||
{
|
||||
|
||||
G4int spin[nmax],ncoll[nmax],charge[nmax],ityp[nmax],
|
||||
lstcoll[nmax],
|
||||
iso3[nmax],origin[nmax],strid[nmax],uid[nmax];
|
||||
lstcoll[nmax],
|
||||
iso3[nmax],origin[nmax],strid[nmax],uid[nmax];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13coor
|
||||
{
|
||||
G4double
|
||||
r0[nmax], rx[nmax], ry[nmax], rz[nmax],
|
||||
p0[nmax], px[nmax], py[nmax], pz[nmax],
|
||||
fmass[nmax], rww[nmax],dectime[nmax];
|
||||
G4double r0[nmax], rx[nmax], ry[nmax], rz[nmax],
|
||||
p0[nmax], px[nmax], py[nmax], pz[nmax],
|
||||
fmass[nmax], rww[nmax],dectime[nmax];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13frag
|
||||
{
|
||||
G4double
|
||||
tform[nmax], xtotfac[nmax];
|
||||
G4double tform[nmax], xtotfac[nmax];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13aios
|
||||
{
|
||||
G4double
|
||||
airx[nmax], airy[nmax], airz[nmax],
|
||||
aipx[nmax], aipy[nmax], aipz[nmax],
|
||||
aorx [4][nmax], aory[4][nmax], aorz[4][nmax],
|
||||
aopx[4][nmax], aopy[4][nmax], aopz[4][nmax];
|
||||
G4double airx[nmax], airy[nmax], airz[nmax],
|
||||
aipx[nmax], aipy[nmax], aipz[nmax],
|
||||
aorx [4][nmax], aory[4][nmax], aorz[4][nmax],
|
||||
aopx[4][nmax], aopy[4][nmax], aopz[4][nmax];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13pots
|
||||
{
|
||||
|
||||
G4double
|
||||
Cb0, Yuk0, Pau0, Sky20, Sky30, gamSky,
|
||||
gamYuk, drPau, dpPau, gw, sgw, delr, fdel,
|
||||
dt,da, db,dtimestep;
|
||||
G4double Cb0, Yuk0, Pau0, Sky20, Sky30, gamSky,
|
||||
gamYuk, drPau, dpPau, gw, sgw, delr, fdel,
|
||||
dt,da, db,dtimestep;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13scoor
|
||||
{
|
||||
|
||||
G4double
|
||||
r0s[smax], rxs[smax], rys[smax], rzs[smax],
|
||||
p0s[smax], pxs[smax], pys[smax], pzs[smax],
|
||||
sfmass[smax];
|
||||
G4double r0s[smax], rxs[smax], rys[smax], rzs[smax],
|
||||
p0s[smax], pxs[smax], pys[smax], pzs[smax],
|
||||
sfmass[smax];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13sisys
|
||||
{
|
||||
G4int
|
||||
sspin[smax], scharge[smax], sityp[smax], siso3[smax],
|
||||
suid[smax];
|
||||
G4int sspin[smax], scharge[smax], sityp[smax], siso3[smax],
|
||||
suid[smax];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13ssys
|
||||
{
|
||||
G4int nspec;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13rtdelay
|
||||
{
|
||||
G4double
|
||||
p0td[nmax][2],pxtd[nmax][2],pytd[nmax][2],pztd[nmax][2],
|
||||
fmasstd[nmax][2];
|
||||
G4double p0td[nmax][2],pxtd[nmax][2],pytd[nmax][2],pztd[nmax][2],
|
||||
fmasstd[nmax][2];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13itdelay
|
||||
{
|
||||
G4int
|
||||
ityptd[nmax][2],iso3td[nmax][2];
|
||||
G4int ityptd[nmax][2],iso3td[nmax][2];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13svinfo
|
||||
{
|
||||
G4int
|
||||
itypt[2],uidt[2],origint[2],iso3t[2];
|
||||
G4int itypt[2],uidt[2],origint[2],iso3t[2];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13ffermi
|
||||
{
|
||||
G4double
|
||||
ffermpx[nmax], ffermpy[nmax], ffermpz[nmax];
|
||||
G4double ffermpx[nmax], ffermpy[nmax], ffermpz[nmax];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13peq
|
||||
{
|
||||
G4double peq1, peq2;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
// Definition for Collision Term
|
||||
// Commons comres
|
||||
@@ -323,49 +339,54 @@ struct ccurqmd13versioning
|
||||
char versiontag[45];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13resonances
|
||||
{
|
||||
|
||||
G4double massres[maxbar-minbar+1],widres[maxbar-minbar+1];
|
||||
G4double massmes[maxmes-minmes+1];
|
||||
G4double widmes[maxmes-minmes+1];
|
||||
G4double mmesmn[maxmes-minmes+1];
|
||||
G4double branres[maxdel-minnuc][maxbra+1];
|
||||
G4double branmes[maxmes-minmes][maxbrm+1];
|
||||
G4double massres[maxbar-minbar+1],widres[maxbar-minbar+1];
|
||||
G4double massmes[maxmes-minmes+1];
|
||||
G4double widmes[maxmes-minmes+1];
|
||||
G4double mmesmn[maxmes-minmes+1];
|
||||
G4double branres[maxdel-minnuc][maxbra+1];
|
||||
G4double branmes[maxmes-minmes][maxbrm+1];
|
||||
|
||||
G4double branbs1[maxsig-minlam][maxbrs1+1];
|
||||
G4double branbs2[maxcas-mincas][maxbrs2+1];
|
||||
G4double branbs1[maxsig-minlam][maxbrs1+1];
|
||||
G4double branbs2[maxcas-mincas][maxbrs2+1];
|
||||
|
||||
G4int bs1type[maxbrs1+1][4],bs2type[maxbrs2+1][4];
|
||||
G4int lbs1[maxsig-minlam][maxbrs1+1];
|
||||
G4int lbs2[maxcas-mincas][maxbrs2+1];
|
||||
G4int lbm[maxmes-minmes][maxbrm+1];
|
||||
G4int bs1type[maxbrs1+1][4],bs2type[maxbrs2+1][4];
|
||||
G4int lbs1[maxsig-minlam][maxbrs1+1];
|
||||
G4int lbs2[maxcas-mincas][maxbrs2+1];
|
||||
G4int lbm[maxmes-minmes][maxbrm+1];
|
||||
|
||||
G4int jres[maxbar-minbar+1];
|
||||
G4int jmes[maxmes-minmes+1];
|
||||
G4int lbr[maxdel-minnuc][maxbra+1];
|
||||
G4int brtype[maxbra+1][4];
|
||||
G4int pares[maxbar-minbar+1],pames[maxmes-minmes+1];
|
||||
G4int bmtype[maxbrm+1][4];
|
||||
G4int isores[maxbar-minbar+1], isomes[maxmes-minmes+1];
|
||||
G4int strres[maxbar-minbar+1],strmes[maxmes-minmes+1];
|
||||
G4int mlt2it[maxmes-minmes];
|
||||
G4int jres[maxbar-minbar+1];
|
||||
G4int jmes[maxmes-minmes+1];
|
||||
G4int lbr[maxdel-minnuc][maxbra+1];
|
||||
G4int brtype[maxbra+1][4];
|
||||
G4int pares[maxbar-minbar+1],pames[maxmes-minmes+1];
|
||||
G4int bmtype[maxbrm+1][4];
|
||||
G4int isores[maxbar-minbar+1], isomes[maxmes-minmes+1];
|
||||
G4int strres[maxbar-minbar+1],strmes[maxmes-minmes+1];
|
||||
G4int mlt2it[maxmes-minmes];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13sigtabi
|
||||
{
|
||||
G4int sigmaln[maxreac][2][maxpsig];
|
||||
G4int sigmainf[20][nsigs];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13sigtabr
|
||||
{
|
||||
|
||||
G4double sigmas[itblsz][nsigs],sigmascal[5][nsigs];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
//comwid
|
||||
struct ccurqmd13decaywidth
|
||||
{
|
||||
@@ -378,6 +399,7 @@ G4int wtabflg;
|
||||
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13brwignorm
|
||||
{
|
||||
@@ -385,6 +407,7 @@ G4double bwbarnorm[maxbar-minbar+1];
|
||||
G4double bwmesnorm[maxmes-minmes+1];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13xsections
|
||||
{
|
||||
@@ -392,22 +415,24 @@ G4double tabxnd [widnsp];
|
||||
G4double frrtaby[maxdel-1][2][2][widnsp];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13tabnames
|
||||
{
|
||||
char tabname[77];
|
||||
};
|
||||
//-----------------
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
// options
|
||||
//
|
||||
struct ccurqmd13options
|
||||
{
|
||||
G4int CTOption[numcto];
|
||||
|
||||
G4double CTParam[numctp];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13optstrings
|
||||
{
|
||||
@@ -415,41 +440,39 @@ char ctodc[numcto][2];
|
||||
char ctpdc[numctp][2];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13loptions
|
||||
{
|
||||
ftnlogical
|
||||
fixedseed,bf13,bf14,bf15,bf16,bf17,bf18,bf19,
|
||||
bf20;
|
||||
ftnlogical fixedseed,bf13,bf14,bf15,bf16,bf17,bf18,bf19,
|
||||
bf20;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13stables
|
||||
{
|
||||
G4int nstable;
|
||||
G4int stabvec[maxstables];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
//colltab
|
||||
//
|
||||
struct ccurqmd13colltab
|
||||
{
|
||||
G4double
|
||||
cttime[ncollmax+1],ctsqrts[ncollmax],
|
||||
ctsigtot[ncollmax],tmin;
|
||||
G4int
|
||||
cti1[ncollmax],cti2[ncollmax];
|
||||
G4int
|
||||
nct,actcol;
|
||||
ftnlogical
|
||||
ctvalid[ncollmax];
|
||||
G4int
|
||||
ctsav[ncollmax];
|
||||
G4int
|
||||
nsav,apt;
|
||||
G4double
|
||||
ctcolfluc[ncollmax];
|
||||
G4double cttime[ncollmax+1],ctsqrts[ncollmax],
|
||||
ctsigtot[ncollmax],tmin;
|
||||
G4int cti1[ncollmax],cti2[ncollmax];
|
||||
G4int nct,actcol;
|
||||
ftnlogical ctvalid[ncollmax];
|
||||
G4int ctsav[ncollmax];
|
||||
G4int nsav,apt;
|
||||
G4double ctcolfluc[ncollmax];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
// inputs
|
||||
//
|
||||
@@ -460,49 +483,61 @@ G4int trspflg,spiso3[2],outsteps,bflag,srtflag,efuncflag;
|
||||
G4int nsrt,firstev,npb;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13input2
|
||||
{
|
||||
G4double srtmin,srtmax,pbeam,betann,betatar,betapro;
|
||||
G4double pbmin,pbmax;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13protarints
|
||||
{
|
||||
|
||||
G4int pt_iso3[2][aamax],pt_ityp[2][aamax],pt_spin[2][aamax];
|
||||
|
||||
G4int pt_charge[2][aamax],pt_aa[2],pt_uid[2][aamax];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13protarreals
|
||||
{
|
||||
G4double pt_r0[2][aamax],pt_rx[2][aamax],pt_ry[2][aamax],
|
||||
pt_rz[2][aamax],pt_fmass[2][aamax],pt_dectime[2][aamax];
|
||||
pt_rz[2][aamax],pt_fmass[2][aamax],pt_dectime[2][aamax];
|
||||
G4double pt_p0[2][aamax],pt_px[2][aamax],pt_py[2][aamax],
|
||||
pt_pz[2][aamax];
|
||||
pt_pz[2][aamax];
|
||||
G4double pt_rho[2][aamax];
|
||||
G4double pt_pmax[2][aamax];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
// newpart
|
||||
struct ccurqmd13inewpart
|
||||
{
|
||||
G4int itypnew[mprt],i3new[mprt],itot[mprt],inew[mprt],nexit;
|
||||
G4int iline,strcount,pslot[oprt],nstring1, nstring2,
|
||||
sidnew[mprt],itypold[oprt],iso3old[oprt];
|
||||
sidnew[mprt],itypold[oprt],iso3old[oprt];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13rnewpart
|
||||
{
|
||||
G4double pnew[mprt][5],xnew[mprt][4],betax,betay,betaz,
|
||||
pold[oprt][5],p0nn,pxnn,pynn,pznn,pnn, mstring[2],
|
||||
pnnout,xtotfacold[oprt];
|
||||
|
||||
G4double pnew[mprt][5],xnew[mprt][4],betax,betay,betaz,
|
||||
pold[oprt][5],p0nn,pxnn,pynn,pznn,pnn, mstring[2],
|
||||
pnnout,xtotfacold[oprt];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13fnewpart
|
||||
{
|
||||
G4double leadfac[mprt];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
// boxinc
|
||||
//
|
||||
@@ -515,6 +550,8 @@ G4int bptityp[bptmax],bptiso3[bptmax],bptpart[bptmax];
|
||||
G4int edensflag,para,solid, mbflag,mtest;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13boxrc
|
||||
{
|
||||
G4double bptpmax[bptmax];
|
||||
@@ -524,76 +561,88 @@ G4double lboxhalbe;
|
||||
G4double lboxd;
|
||||
G4double mbp0, mbpx, mbpy, mbpz;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
// comnorm
|
||||
struct ccurqmd13normsplin
|
||||
{
|
||||
G4double x_norm[n][4],y_norm[n][4];
|
||||
G4double y2a[n][4],y2b[n][4], dx;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
// comstr
|
||||
struct ccurqmd13FRGSPA
|
||||
{
|
||||
G4double
|
||||
pjspns, pmix1s[njspin][3], pmix2s[njspin][3]
|
||||
, pbars, parqls, parrs;
|
||||
G4double pjspns, pmix1s[njspin][3], pmix2s[njspin][3], pbars, parqls, parrs;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13FRGCPA
|
||||
{
|
||||
G4double
|
||||
pjspnc, pmix1c[njspin][3], pmix2c[njspin][3], pbarc;
|
||||
G4double pjspnc, pmix1c[njspin][3], pmix2c[njspin][3], pbarc;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13coparm
|
||||
{
|
||||
G4double parm[njspin];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
struct ccurqmd13const
|
||||
{
|
||||
G4double pi;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//// freezeout
|
||||
//
|
||||
struct ccurqmd13frcoor
|
||||
{
|
||||
G4double frr0[nmax], frrx[nmax], frry[nmax], frrz[nmax],
|
||||
frp0[nmax], frpx[nmax], frpy[nmax], frpz[nmax];
|
||||
frp0[nmax], frpx[nmax], frpy[nmax], frpz[nmax];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
// input
|
||||
struct ccurqmd13values
|
||||
{
|
||||
G4double valint[1];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
// cascinit
|
||||
struct ccurqmd13ini
|
||||
{
|
||||
ftnlogical bcorr;
|
||||
};
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
// iso
|
||||
struct ccurqmd13factorials
|
||||
{
|
||||
G4double logfak[101];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
struct ccurqmd13cgks
|
||||
{
|
||||
|
||||
G4double cgktab[jmax+1][2*jmax+1][2*jmax+1][jmax+1][jmax+1];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
// UrQMD
|
||||
//
|
||||
struct ccurqmd13energies
|
||||
{
|
||||
G4double ekinbar, ekinmes, esky2, esky3,
|
||||
eyuk, ecb, epau;
|
||||
G4double ekinbar, ekinmes, esky2, esky3, eyuk, ecb, epau;
|
||||
};
|
||||
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
// urqmd
|
||||
extern "C"
|
||||
{
|
||||
@@ -679,5 +728,6 @@ extern struct ccurqmd13factorials factorials_;
|
||||
extern struct ccurqmd13cgks cgks_;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
#endif
|
||||
|
||||
@@ -32,6 +32,9 @@
|
||||
/// \file hadronic/Hadr02/include/G4UrQMD1_3Model.hh
|
||||
/// \brief Definition of the G4UrQMD1_3Model class
|
||||
//
|
||||
// $Id: G4UrQMD1_3Model.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4UrQMD1_3Model_hh
|
||||
#define G4UrQMD1_3Model_hh
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
@@ -55,6 +58,7 @@
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "G4Nucleon.hh"
|
||||
#include "G4Nucleus.hh"
|
||||
#include "G4VIntraNuclearTransportModel.hh"
|
||||
@@ -65,84 +69,39 @@
|
||||
#include "G4ReactionProduct.hh"
|
||||
#include "G4IntraNucleiCascader.hh"
|
||||
#include "G4Track.hh"
|
||||
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
//--------------------------------
|
||||
//AND->
|
||||
//This should be included in the .cc to
|
||||
//avoid multiple definition issues
|
||||
//#include "G4UrQMD1_3Interface.hh"
|
||||
//AND<-
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
class G4UrQMD1_3Model : public G4VIntraNuclearTransportModel {
|
||||
|
||||
|
||||
|
||||
public:
|
||||
|
||||
G4UrQMD1_3Model(const G4String& name = "UrQMD1_3");
|
||||
|
||||
G4UrQMD1_3Model(const G4String& name = "UrQMD1_3");
|
||||
|
||||
virtual ~G4UrQMD1_3Model ();
|
||||
|
||||
// G4double GetMinEnergy( const G4Material *aMaterial,
|
||||
// const G4Element *anElement ) const;
|
||||
// G4double GetMaxEnergy( const G4Material *aMaterial,
|
||||
// const G4Element *anElement ) const;
|
||||
|
||||
virtual ~G4UrQMD1_3Model ();
|
||||
|
||||
G4ReactionProductVector* Propagate(G4KineticTrackVector*
|
||||
theSecondaries, G4V3DNucleus* theTarget);
|
||||
|
||||
|
||||
|
||||
virtual G4HadFinalState *ApplyYourself
|
||||
(const G4HadProjectile &, G4Nucleus &);
|
||||
|
||||
|
||||
G4ReactionProductVector* Propagate(G4KineticTrackVector*
|
||||
theSecondaries,
|
||||
G4V3DNucleus* theTarget);
|
||||
|
||||
virtual G4HadFinalState* ApplyYourself(const G4HadProjectile&,
|
||||
G4Nucleus&);
|
||||
|
||||
private:
|
||||
private:
|
||||
|
||||
G4int operator==(G4UrQMD1_3Model& right) {
|
||||
return (this == &right);
|
||||
}
|
||||
G4int operator==(G4UrQMD1_3Model& right);
|
||||
G4int operator!=(G4UrQMD1_3Model& right);
|
||||
|
||||
void InitialiseDataTables();
|
||||
|
||||
G4int operator!=(G4UrQMD1_3Model& right) {
|
||||
return (this != &right);
|
||||
}
|
||||
|
||||
|
||||
G4int verbose;
|
||||
|
||||
void InitialiseDataTables();
|
||||
void WelcomeMessage () const;
|
||||
|
||||
G4int CurrentEvent;
|
||||
|
||||
private:
|
||||
|
||||
|
||||
void WelcomeMessage () const;
|
||||
|
||||
G4HadFinalState theResult;
|
||||
|
||||
G4int verbose;
|
||||
|
||||
G4HadFinalState theResult;
|
||||
};
|
||||
|
||||
// inline G4double G4UrQMD1_3Model::GetMinEnergy( const G4Material *,
|
||||
// const G4Element * ) const
|
||||
// {return theMinEnergy;}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// inline G4double G4UrQMD1_3Model::GetMaxEnergy( const G4Material *,
|
||||
// const G4Element * ) const
|
||||
// {return theMaxEnergy;}
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
#endif
|
||||
|
||||
@@ -36,6 +36,9 @@
|
||||
/// \file hadronic/Hadr02/include/G4VGlauberDataSet.hh
|
||||
/// \brief Definition of the G4VGlauberDataSet class
|
||||
//
|
||||
// $Id: G4VGlauberDataSet.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4VGlauberDataSet_h
|
||||
#define G4VGlauberDataSet_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
@@ -60,73 +63,76 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
#include "globals.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
|
||||
#include <fstream>
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
class G4VGlauberDataSet
|
||||
{
|
||||
public:
|
||||
G4VGlauberDataSet ();
|
||||
virtual ~G4VGlauberDataSet ();
|
||||
G4VGlauberDataSet (const G4VGlauberDataSet &right);
|
||||
public:
|
||||
|
||||
const G4VGlauberDataSet& operator=(G4VGlauberDataSet &right);
|
||||
G4VGlauberDataSet ();
|
||||
virtual ~G4VGlauberDataSet ();
|
||||
|
||||
G4VGlauberDataSet (const G4VGlauberDataSet &right);
|
||||
const G4VGlauberDataSet& operator=(G4VGlauberDataSet &right);
|
||||
|
||||
G4int GetVerboseLevel () const;
|
||||
void SetVerboseLevel (const G4int i);
|
||||
inline G4int GetVerboseLevel () const;
|
||||
inline void SetVerboseLevel (const G4int i);
|
||||
|
||||
G4int GetAP () const;
|
||||
G4int GetZP () const;
|
||||
G4int GetAT () const;
|
||||
G4int GetZT () const;
|
||||
G4int GetAP () const;
|
||||
G4int GetZP () const;
|
||||
G4int GetAT () const;
|
||||
G4int GetZT () const;
|
||||
|
||||
G4int GetGlauberDataSetType () const;
|
||||
G4int GetGlauberDataSetType () const;
|
||||
|
||||
void SetArrayPointer (const G4int i);
|
||||
G4double *GetArrayPointerN (const G4double ppn = 0.0);
|
||||
G4double *GetArrayPointerM (const G4double ppn = 0.0);
|
||||
void SetArrayPointer (const G4int i);
|
||||
inline G4double *GetArrayPointerN (const G4double ppn = 0.0);
|
||||
inline G4double *GetArrayPointerM (const G4double ppn = 0.0);
|
||||
|
||||
// G4double GetValueN (const G4double f);
|
||||
// G4double GetValueM (const G4double f);
|
||||
virtual std::ofstream & WriteDataToFile (std::ofstream &File) const;
|
||||
virtual std::ifstream & ReadDataFromFile (std::ifstream &File);
|
||||
|
||||
public:
|
||||
virtual std::ofstream & WriteDataToFile (std::ofstream &File) const;
|
||||
virtual std::ifstream & ReadDataFromFile (std::ifstream &File);
|
||||
public:
|
||||
|
||||
public:
|
||||
G4double rproj;
|
||||
G4double rtarg;
|
||||
G4double bstep;
|
||||
G4double bmax;
|
||||
G4int AP;
|
||||
G4int ZP;
|
||||
G4int AT;
|
||||
G4int ZT;
|
||||
G4double rproj;
|
||||
G4double rtarg;
|
||||
G4double bstep;
|
||||
G4double bmax;
|
||||
G4int AP;
|
||||
G4int ZP;
|
||||
G4int AT;
|
||||
G4int ZT;
|
||||
|
||||
G4double * baseArrayPtrn;
|
||||
G4double * baseArrayPtrm;
|
||||
G4double * arrayPtrn;
|
||||
G4double * arrayPtrm;
|
||||
G4double * baseArrayPtrn;
|
||||
G4double * baseArrayPtrm;
|
||||
G4double * arrayPtrn;
|
||||
G4double * arrayPtrm;
|
||||
|
||||
G4int glauberDataSetType;
|
||||
G4int glauberDataSetType;
|
||||
|
||||
G4int maxArray;
|
||||
G4int maxig;
|
||||
G4int maxArray;
|
||||
G4int maxig;
|
||||
|
||||
G4int verboseLevel;
|
||||
G4int verboseLevel;
|
||||
|
||||
friend std::ofstream & operator << (std::ofstream &File, const G4VGlauberDataSet &q);
|
||||
friend std::ifstream & operator >> (std::ifstream &File, G4VGlauberDataSet &q);
|
||||
friend std::ofstream & operator << (std::ofstream &File,
|
||||
const G4VGlauberDataSet &q);
|
||||
friend std::ifstream & operator >> (std::ifstream &File,
|
||||
G4VGlauberDataSet &q);
|
||||
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
inline void G4VGlauberDataSet::SetVerboseLevel (const G4int verboseLevel1)
|
||||
{verboseLevel = verboseLevel1;}
|
||||
{verboseLevel = verboseLevel1;}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
inline G4int G4VGlauberDataSet::GetVerboseLevel () const
|
||||
{return verboseLevel;}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
{return verboseLevel;}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/HIJING.hh
|
||||
/// \brief Definition of the HIJING class
|
||||
//
|
||||
// $Id: HIJING.hh,v 1.1 2007-10-19 15:35:08 gunter Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2012 Andrea Dotti
|
||||
// created from FTFP_BERT
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef THIJING_h
|
||||
#define THIJING_h 1
|
||||
|
||||
#include "G4VModularPhysicsList.hh"
|
||||
#include "globals.hh"
|
||||
#include "CompileTimeConstraints.hh"
|
||||
|
||||
template<class T>
|
||||
class THIJING: public T
|
||||
{
|
||||
public:
|
||||
THIJING(G4int ver = 1);
|
||||
virtual ~THIJING();
|
||||
|
||||
public:
|
||||
// SetCuts()
|
||||
virtual void SetCuts();
|
||||
|
||||
private:
|
||||
enum {ok = CompileTimeConstraints::IsA<T, G4VModularPhysicsList>::ok };
|
||||
};
|
||||
#ifdef G4_USE_HIJING
|
||||
#include "HIJING.icc"
|
||||
#else
|
||||
template<class T>
|
||||
THIJING<T>::THIJING(G4int) : T()
|
||||
{
|
||||
G4ExceptionDescription de;
|
||||
de<<"Support for HIJING not enabled"<<G4endl;
|
||||
G4Exception(__FILE__,"HIJING-01",FatalException,de,
|
||||
"Code should be compiled with G4_USE_HIJING environment variable set.");
|
||||
}
|
||||
|
||||
template<class T>
|
||||
THIJING<T>::~THIJING() { }
|
||||
template<class T>
|
||||
void THIJING<T>::SetCuts() { }
|
||||
#endif
|
||||
|
||||
typedef THIJING<G4VModularPhysicsList> HIJING;
|
||||
|
||||
#endif //THIJING_h
|
||||
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/HIJING.icc
|
||||
/// \brief Implementation of the HIJING class inline functions
|
||||
//
|
||||
// $Id: HIJING.icc,v 1.7 2010-08-16 07:14:44 kurasige Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2012 Andrea Dotti
|
||||
//
|
||||
// created from FTFP_BERT
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "globals.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 "G4DecayPhysics.hh"
|
||||
#include "G4EmStandardPhysics.hh"
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
#include "IonHIJINGPhysics.hh"
|
||||
#include "G4HadronElasticPhysics.hh"
|
||||
#include "G4NeutronTrackingCut.hh"
|
||||
#include "G4StoppingPhysics.hh"
|
||||
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsHIJING.hh"
|
||||
|
||||
template<class T> THIJING<T>::THIJING(G4int ver): T()
|
||||
{
|
||||
// default cut value (1.0mm)
|
||||
// defaultCutValue = 1.0*mm;
|
||||
G4DataQuestionaire it(photon);
|
||||
G4cout << "<<< Geant4 Physics List simulation engine: HIJING 0.1"<<G4endl;
|
||||
G4cout <<G4endl;
|
||||
this->defaultCutValue = 0.7*mm;
|
||||
this->SetVerboseLevel(ver);
|
||||
|
||||
// EM Physics
|
||||
this->RegisterPhysics( new G4EmStandardPhysics(ver));
|
||||
|
||||
// Synchroton Radiation & GN Physics
|
||||
this->RegisterPhysics( new G4EmExtraPhysics(ver) );
|
||||
|
||||
// Decays
|
||||
this->RegisterPhysics( new G4DecayPhysics(ver) );
|
||||
|
||||
// Hadron Elastic scattering
|
||||
this->RegisterPhysics( new G4HadronElasticPhysics(ver) );
|
||||
|
||||
// Hadron Physics
|
||||
this->RegisterPhysics( new HadronPhysicsHIJING(ver));
|
||||
|
||||
// Stopping Physics
|
||||
this->RegisterPhysics( new G4StoppingPhysics(ver) );
|
||||
|
||||
// Ion Physics
|
||||
this->RegisterPhysics( new IonHIJINGPhysics(ver));
|
||||
|
||||
// Neutron tracking cut
|
||||
this->RegisterPhysics( new G4NeutronTrackingCut(ver));
|
||||
|
||||
}
|
||||
|
||||
template<class T> THIJING<T>::~THIJING()
|
||||
{
|
||||
}
|
||||
|
||||
template<class T> void THIJING<T>::SetCuts()
|
||||
{
|
||||
if (this->verboseLevel >1){
|
||||
G4cout << "HIJING::SetCuts:";
|
||||
}
|
||||
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
|
||||
// the default cut value for all particle types
|
||||
|
||||
this->SetCutsWithDefault();
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/HIJINGNeutronBuilder.hh
|
||||
/// \brief Definition of the HIJINGNeutronBuilder class
|
||||
//
|
||||
// $Id: HIJINGNeutronBuilder.hh,v 1.2 2009-03-31 18:38:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HIJINGNeutronBuilder
|
||||
//
|
||||
// Author: 2012 Andrea Dotti
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef HIJINGNeutronBuilder_h
|
||||
#define HIJINGNeutronBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
|
||||
#include "G4HIJING_Model.hh"
|
||||
#include "G4NeutronRadCapture.hh"
|
||||
#include "G4LFission.hh"
|
||||
|
||||
|
||||
class HIJINGNeutronBuilder : public G4VNeutronBuilder
|
||||
{
|
||||
public:
|
||||
|
||||
HIJINGNeutronBuilder();
|
||||
virtual ~HIJINGNeutronBuilder();
|
||||
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4HadronFissionProcess * aP);
|
||||
virtual void Build(G4HadronCaptureProcess * aP);
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {fMin = aM;}
|
||||
void SetMaxEnergy(G4double aM) {fMax = aM;}
|
||||
|
||||
private:
|
||||
G4double fMin;
|
||||
G4double fMax;
|
||||
G4HIJING_Model * fModel;
|
||||
G4NeutronRadCapture* captureModel;
|
||||
G4LFission* fissionModel;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/HIJINGProtonBuilder.hh
|
||||
/// \brief Definition of the HIJINGProtonBuilder class
|
||||
//
|
||||
// $Id: HIJINGProtonBuilder.hh,v 1.2 2009-03-31 18:38:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef HIJINGProtonBuilder_h
|
||||
#define HIJINGProtonBuilder_h
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4ProtonInelasticProcess.hh"
|
||||
#include "G4VProtonBuilder.hh"
|
||||
|
||||
#include "G4HIJING_Model.hh"
|
||||
|
||||
class HIJINGProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
public:
|
||||
|
||||
HIJINGProtonBuilder();
|
||||
virtual ~HIJINGProtonBuilder();
|
||||
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
inline void SetMinEnergy(G4double aM) {fMin = aM;}
|
||||
inline void SetMaxEnergy(G4double aM) {fMax = aM;}
|
||||
|
||||
private:
|
||||
|
||||
G4HIJING_Model * fModel;
|
||||
G4double fMin;
|
||||
G4double fMax;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/HadronPhysicsHIJING.hh
|
||||
/// \brief Definition of the HadronPhysicsHIJING class
|
||||
//
|
||||
// $Id: HadronPhysicsHIJING.hh,v 1.5 2010-06-03 10:42:44 gunter Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2012 Andrea Dotti
|
||||
// created from HadronPhysicsFTFP_BERT
|
||||
// Modified:
|
||||
// 07.02.2012 A. Dotti: First version
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef HadronPhysicsHIJING_h
|
||||
#define HadronPhysicsHIJING_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
|
||||
#include "G4PiKBuilder.hh"
|
||||
#include "HIJINGPiKBuilder.hh"
|
||||
|
||||
#include "G4ProtonBuilder.hh"
|
||||
#include "HIJINGProtonBuilder.hh"
|
||||
|
||||
#include "G4NeutronBuilder.hh"
|
||||
#include "HIJINGNeutronBuilder.hh"
|
||||
|
||||
#include "G4HyperonFTFPBuilder.hh"
|
||||
|
||||
#include "G4AntiBarionBuilder.hh"
|
||||
#include "HIJINGAntiBarionBuilder.hh"
|
||||
|
||||
class HadronPhysicsHIJING : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
|
||||
HadronPhysicsHIJING(G4int verbose =1);
|
||||
virtual ~HadronPhysicsHIJING();
|
||||
|
||||
public:
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
|
||||
void CreateModels();
|
||||
G4HadronicProcess* FindInelasticProcess(const G4ParticleDefinition*);
|
||||
|
||||
G4NeutronBuilder * fNeutrons;
|
||||
HIJINGNeutronBuilder * fHIJINGNeutron;
|
||||
|
||||
G4PiKBuilder * fPiK;
|
||||
HIJINGPiKBuilder * fHIJINGPiK;
|
||||
|
||||
G4ProtonBuilder * fPro;
|
||||
HIJINGProtonBuilder * fHIJINGPro;
|
||||
|
||||
G4HyperonFTFPBuilder * fHyperon;
|
||||
|
||||
G4AntiBarionBuilder * fAntiBaryon;
|
||||
HIJINGAntiBarionBuilder * fHIJINGAntiBaryon;
|
||||
|
||||
G4VCrossSectionDataSet * fCHIPSInelastic;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/HadronPhysicsUrQMD.hh
|
||||
/// \brief Definition of the HadronPhysicsUrQMD class
|
||||
//
|
||||
// $Id$
|
||||
// $Id: HadronPhysicsUrQMD.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -44,8 +44,6 @@
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
|
||||
#include "G4PiKBuilder.hh"
|
||||
#include "UrQMDPiKBuilder.hh"
|
||||
|
||||
@@ -54,7 +52,6 @@
|
||||
|
||||
#include "G4NeutronBuilder.hh"
|
||||
#include "UrQMDNeutronBuilder.hh"
|
||||
#include "G4LEPNeutronBuilder.hh"
|
||||
|
||||
#include "G4HyperonFTFPBuilder.hh"
|
||||
|
||||
@@ -63,36 +60,33 @@
|
||||
|
||||
class HadronPhysicsUrQMD : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
public:
|
||||
|
||||
HadronPhysicsUrQMD(G4int verbose =1);
|
||||
virtual ~HadronPhysicsUrQMD();
|
||||
HadronPhysicsUrQMD(G4int verbose =1);
|
||||
virtual ~HadronPhysicsUrQMD();
|
||||
|
||||
public:
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
private:
|
||||
|
||||
void CreateModels();
|
||||
G4HadronicProcess* FindInelasticProcess(const G4ParticleDefinition*);
|
||||
void CreateModels();
|
||||
G4HadronicProcess* FindInelasticProcess(const G4ParticleDefinition*);
|
||||
|
||||
G4NeutronBuilder * fNeutrons;
|
||||
UrQMDNeutronBuilder * fUrQMDNeutron;
|
||||
G4LEPNeutronBuilder * fLEPNeutron; //needed for capture&fission
|
||||
G4NeutronBuilder * fNeutrons;
|
||||
UrQMDNeutronBuilder * fUrQMDNeutron;
|
||||
|
||||
G4PiKBuilder * fPiK;
|
||||
UrQMDPiKBuilder * fUrQMDPiK;
|
||||
G4PiKBuilder * fPiK;
|
||||
UrQMDPiKBuilder * fUrQMDPiK;
|
||||
|
||||
G4ProtonBuilder * fPro;
|
||||
UrQMDProtonBuilder * fUrQMDPro;
|
||||
G4ProtonBuilder * fPro;
|
||||
UrQMDProtonBuilder * fUrQMDPro;
|
||||
|
||||
G4HyperonFTFPBuilder * fHyperon;
|
||||
G4HyperonFTFPBuilder * fHyperon;
|
||||
|
||||
G4AntiBarionBuilder * fAntiBaryon;
|
||||
UrQMDAntiBarionBuilder * fUrQMDAntiBaryon;
|
||||
G4AntiBarionBuilder * fAntiBaryon;
|
||||
UrQMDAntiBarionBuilder * fUrQMDAntiBaryon;
|
||||
|
||||
G4VCrossSectionDataSet * fCHIPSInelastic;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/Histo.hh
|
||||
/// \brief Definition of the Histo class
|
||||
//
|
||||
// $Id$
|
||||
// $Id: Histo.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
|
||||
#ifndef Histo_h
|
||||
#define Histo_h 1
|
||||
@@ -69,7 +69,7 @@ public:
|
||||
|
||||
// In this method 1-D histogramms are predefined
|
||||
void Add1D(const G4String&, const G4String&, G4int nb, G4double x1,
|
||||
G4double x2, G4double u=1.);
|
||||
G4double x2, G4double u=1.);
|
||||
|
||||
// It change bins and boundaries
|
||||
void SetHisto1D(G4int, G4int, G4double, G4double, G4double);
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/HistoManager.hh
|
||||
/// \brief Definition of the HistoManager class
|
||||
//
|
||||
// $Id$
|
||||
// $Id: HistoManager.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -26,8 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/HistoMessenger.hh
|
||||
/// \brief Definition of the HistoMessenger class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// $Id: HistoMessenger.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
/// \file hadronic/Hadr02/include/IonDPMJETPhysics.hh
|
||||
/// \brief Definition of the IonDPMJETPhysics class
|
||||
//
|
||||
// $Id$
|
||||
// GRAS tag $Name: gras-02-05-02 $
|
||||
// $Id: IonDPMJETPhysics.hh 77665 2013-11-27 10:15:08Z gcosmo $
|
||||
// GRAS tag Name: gras-02-05-02
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -71,7 +71,7 @@ public:
|
||||
// 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
|
||||
void ConstructProcess();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
|
||||
@@ -83,9 +83,11 @@ private:
|
||||
G4VCrossSectionDataSet* fShen;
|
||||
G4VCrossSectionDataSet* fIonH;
|
||||
G4BinaryLightIonReaction* fIonBC;
|
||||
#ifdef G4_USE_DPMJET
|
||||
G4DPMJET2_5Model* fDPM;
|
||||
G4DPMJET2_5CrossSection* fDpmXS;
|
||||
G4bool fUseDPMJETXS;
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/IonHIJINGPhysics.hh
|
||||
/// \brief Definition of the IonHIJINGPhysics class
|
||||
//
|
||||
// $Id: G4IonHIJINGPhysics.hh,v 1.0 2010/08/26 10:51:25 antoni Exp $
|
||||
// GRAS tag $Name: $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// Header: G4IonHIJINGPhysics
|
||||
//
|
||||
// Author: 2012 Andrea Dotti
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4IonHIJINGPhysics_h
|
||||
#define G4IonHIJINGPhysics_h 1
|
||||
|
||||
#include "G4VHadronPhysics.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4HadronicInteraction;
|
||||
class G4VCrossSectionDataSet;
|
||||
class G4HIJING_Model;
|
||||
class G4FTFBuilder;
|
||||
class G4BinaryLightIonReaction;
|
||||
class G4HadronicInteraction;
|
||||
|
||||
class IonHIJINGPhysics : public G4VHadronPhysics
|
||||
{
|
||||
public:
|
||||
|
||||
IonHIJINGPhysics(G4int ver = 0);
|
||||
virtual ~IonHIJINGPhysics();
|
||||
|
||||
// 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
|
||||
void ConstructProcess();
|
||||
|
||||
private:
|
||||
|
||||
void AddProcess(const G4String&, G4ParticleDefinition*, G4bool isIon);
|
||||
|
||||
G4VCrossSectionDataSet* theNuclNuclData;
|
||||
|
||||
G4HIJING_Model * fModel;
|
||||
G4BinaryLightIonReaction* theIonBC;
|
||||
G4FTFBuilder* theBuilder;
|
||||
G4HadronicInteraction* theFTFP;
|
||||
G4int fVerbose;
|
||||
G4bool fWasActivated;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
/// \brief Definition of the IonUrQMDPhysics class
|
||||
//
|
||||
// $Id: G4IonUrQMDPhysics.hh,v 1.0 2010/08/26 10:51:25 antoni Exp $
|
||||
// GRAS tag $Name: $
|
||||
// GRAS tag Name:
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
// 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
|
||||
void ConstructProcess();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -26,8 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/PrimaryGeneratorAction.hh
|
||||
/// \brief Definition of the PrimaryGeneratorAction class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// $Id: PrimaryGeneratorAction.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -56,10 +55,12 @@ class HistoManager;
|
||||
class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
|
||||
PrimaryGeneratorAction();
|
||||
|
||||
virtual ~PrimaryGeneratorAction();
|
||||
|
||||
void GeneratePrimaries(G4Event*);
|
||||
virtual void GeneratePrimaries(G4Event*);
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -26,8 +26,9 @@
|
||||
/// \file hadronic/Hadr02/include/RunAction.hh
|
||||
/// \brief Definition of the RunAction class
|
||||
//
|
||||
// $Id$
|
||||
// $Id: RunAction.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef RunAction_h
|
||||
#define RunAction_h 1
|
||||
|
||||
@@ -52,12 +53,12 @@ class RunAction : public G4UserRunAction
|
||||
public: // Without description
|
||||
|
||||
RunAction();
|
||||
~RunAction();
|
||||
virtual ~RunAction();
|
||||
|
||||
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
|
||||
|
||||
};
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/StackingAction.hh
|
||||
/// \brief Definition of the StackingAction class
|
||||
//
|
||||
// $Id$
|
||||
// $Id: StackingAction.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -61,7 +61,7 @@ public:
|
||||
inline void SetKillAll(G4bool value) {fKillAll = value;};
|
||||
inline void SetKillEM (G4bool value) {fKillEM = value;};
|
||||
|
||||
G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*);
|
||||
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*);
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -26,8 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/StackingMessenger.hh
|
||||
/// \brief Definition of the StackingMessenger class
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// $Id: StackingMessenger.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -60,7 +59,7 @@ public:
|
||||
StackingMessenger(StackingAction*);
|
||||
virtual ~StackingMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/TargetSD.hh
|
||||
/// \brief Definition of the TargetSD class
|
||||
//
|
||||
// $Id$
|
||||
// $Id: TargetSD.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -60,11 +60,11 @@ public: // Without description
|
||||
TargetSD(const G4String&);
|
||||
virtual ~TargetSD();
|
||||
|
||||
void Initialize(G4HCofThisEvent*);
|
||||
G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
void EndOfEvent(G4HCofThisEvent*);
|
||||
void clear();
|
||||
void PrintAll();
|
||||
virtual void Initialize(G4HCofThisEvent*);
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
virtual void EndOfEvent(G4HCofThisEvent*);
|
||||
virtual void clear();
|
||||
virtual void PrintAll();
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/UrQMD.hh
|
||||
/// \brief Definition of the UrQMD class
|
||||
//
|
||||
// $Id$
|
||||
// $Id: UrQMD.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -68,7 +68,8 @@ TUrQMD<T>::TUrQMD(G4int) : T()
|
||||
{
|
||||
G4ExceptionDescription de;
|
||||
de<<"Support for UrQMD not enabled"<<G4endl;
|
||||
G4Exception(__FILE__,"UrQMD-01",FatalException,de,"Code should be compiled with G4_USE_URQMD environment variable set.");
|
||||
G4Exception(__FILE__,"UrQMD-01",FatalException,de,
|
||||
"Code should be compiled with G4_USE_URQMD environment variable set.");
|
||||
}
|
||||
|
||||
template<class T>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/UrQMD.icc
|
||||
/// \brief Implementation of the UrQMD class inline functions
|
||||
//
|
||||
// $Id$
|
||||
// $Id: UrQMD.icc 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -42,13 +42,6 @@
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
//#include "G4ProcessManager.hh"
|
||||
//#include "G4ProcessVector.hh"
|
||||
//#include "G4ParticleTypes.hh"
|
||||
//#include "G4ParticleTable.hh"
|
||||
|
||||
//#include "G4Material.hh"
|
||||
//#include "G4MaterialTable.hh"
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
@@ -63,14 +56,14 @@
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsUrQMD.hh"
|
||||
|
||||
#include "G4SystemOfUnits.hh"
|
||||
|
||||
template<class T> TUrQMD<T>::TUrQMD(G4int ver): T()
|
||||
{
|
||||
// default cut value (1.0mm)
|
||||
// defaultCutValue = 1.0*mm;
|
||||
G4DataQuestionaire it(photon);
|
||||
G4cout << "<<< Geant4 Physics List simulation engine: UrQMD 0.1"<<G4endl;
|
||||
G4cout <<G4endl;
|
||||
this->defaultCutValue = 0.7*mm;
|
||||
this->defaultCutValue = 0.7*CLHEP::mm;
|
||||
this->SetVerboseLevel(ver);
|
||||
|
||||
// EM Physics
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
/// \brief Definition of the UrQMDAntiBarionBuilder class
|
||||
//
|
||||
// $Id: $
|
||||
// GEANT4 tag $Name: $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -67,8 +66,8 @@ public:
|
||||
virtual void Build(G4AntiHe3InelasticProcess * aP);
|
||||
virtual void Build(G4AntiAlphaInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double val) {fMin = val;}
|
||||
void SetMaxEnergy(G4double val) {fMax = val;}
|
||||
inline void SetMinEnergy(G4double val) {fMin = val;}
|
||||
inline void SetMaxEnergy(G4double val) {fMax = val;}
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/UrQMDNeutronBuilder.hh
|
||||
/// \brief Definition of the UrQMDNeutronBuilder class
|
||||
//
|
||||
// $Id$
|
||||
// $Id: UrQMDNeutronBuilder.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -42,6 +42,7 @@
|
||||
#define UrQMDNeutronBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
@@ -50,6 +51,9 @@
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
|
||||
#include "G4UrQMD1_3Model.hh"
|
||||
#include "G4NeutronRadCapture.hh"
|
||||
#include "G4LFission.hh"
|
||||
|
||||
|
||||
class UrQMDNeutronBuilder : public G4VNeutronBuilder
|
||||
{
|
||||
@@ -63,14 +67,17 @@ public:
|
||||
virtual void Build(G4HadronCaptureProcess * aP);
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {fMin = aM;}
|
||||
void SetMaxEnergy(G4double aM) {fMax = aM;}
|
||||
inline void SetMinEnergy(G4double aM) {fMin = aM;}
|
||||
inline void SetMaxEnergy(G4double aM) {fMax = aM;}
|
||||
|
||||
private:
|
||||
G4UrQMD1_3Model * fModel;
|
||||
|
||||
G4double fMin;
|
||||
G4double fMax;
|
||||
|
||||
G4UrQMD1_3Model* fModel;
|
||||
G4NeutronRadCapture* captureModel;
|
||||
G4LFission* fissionModel;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/UrQMDPiKBuilder.hh
|
||||
/// \brief Definition of the UrQMDPiKBuilder class
|
||||
//
|
||||
// $Id$
|
||||
// $Id: UrQMDPiKBuilder.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -42,6 +42,7 @@
|
||||
#define UrQMDPiKBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
@@ -66,8 +67,8 @@ public:
|
||||
virtual void Build(G4KaonZeroLInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {fMin = aM;}
|
||||
void SetMaxEnergy(G4double aM) {fMax = aM;}
|
||||
inline void SetMinEnergy(G4double aM) {fMin = aM;}
|
||||
inline void SetMaxEnergy(G4double aM) {fMax = aM;}
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/// \file hadronic/Hadr02/include/UrQMDProtonBuilder.hh
|
||||
/// \brief Definition of the UrQMDProtonBuilder class
|
||||
//
|
||||
// $Id$
|
||||
// $Id: UrQMDProtonBuilder.hh 77519 2013-11-25 10:54:57Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user