Import Geant4 10.2.0 source tree
This commit is contained in:
@@ -1,124 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * *
|
||||
// * Parts of this code which have been developed by QinetiQ Ltd *
|
||||
// * under contract to the European Space Agency (ESA) are the *
|
||||
// * intellectual property of ESA. Rights to use, copy, modify and *
|
||||
// * redistribute this software for general public use are granted *
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * 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/G4DPMJET2_5CrossSection.hh
|
||||
/// \brief Definition of the G4DPMJET2_5CrossSection class
|
||||
//
|
||||
// $Id: G4DPMJET2_5CrossSection.hh 81932 2014-06-06 15:39:45Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4DPMJET2_5CrossSection_h
|
||||
#define G4DPMJET2_5CrossSection_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4DPMJET2_5CrossSection.hh
|
||||
//
|
||||
// Version: 0.A
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// Class Description
|
||||
// Reads data from a datafile generated using the DPMJET-II.5 model, based on
|
||||
// Glauber cross-section calculations.
|
||||
// This class makes use of data stored in GlauberCrossSection.dat in the
|
||||
// directory defined by environment variable $G4DPMJET2_5DATA.
|
||||
//
|
||||
// Class Description - End
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4VCrossSectionDataSet.hh"
|
||||
#include "G4DPMJET2_5CrossSectionParamSet.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
|
||||
#include <map>
|
||||
|
||||
typedef std::map< G4int, G4DPMJET2_5CrossSectionParamSet*, std::less< G4int > >
|
||||
G4DPMJET2_5CrossSectionIndex;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4DPMJET2_5CrossSection : public G4VCrossSectionDataSet
|
||||
{
|
||||
public:
|
||||
|
||||
G4DPMJET2_5CrossSection();
|
||||
|
||||
virtual ~G4DPMJET2_5CrossSection();
|
||||
|
||||
virtual G4bool IsIsoApplicable(const G4DynamicParticle* theProjectile,
|
||||
G4int ZZ, G4int AA,
|
||||
const G4Element* elm = 0,
|
||||
const G4Material* mat = 0);
|
||||
|
||||
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&);
|
||||
|
||||
private:
|
||||
|
||||
void Initialise ();
|
||||
|
||||
G4int APmin;
|
||||
G4int APmax;
|
||||
G4int ATmin;
|
||||
G4int ATmax;
|
||||
|
||||
G4DPMJET2_5CrossSectionIndex theCrossSectionIndex;
|
||||
|
||||
const G4double upperLimit;
|
||||
const G4double lowerLimit;
|
||||
const G4int maxA;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
@@ -1,89 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * *
|
||||
// * Parts of this code which have been developed by QinetiQ Ltd *
|
||||
// * under contract to the European Space Agency (ESA) are the *
|
||||
// * intellectual property of ESA. Rights to use, copy, modify and *
|
||||
// * redistribute this software for general public use are granted *
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * 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/G4DPMJET2_5CrossSectionParamSet.hh
|
||||
/// \brief Definition of the G4DPMJET2_5CrossSectionParamSet class
|
||||
//
|
||||
// $Id: G4DPMJET2_5CrossSectionParamSet.hh 81932 2014-06-06 15:39:45Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4DPMJET2_5CrossSectionParamSet_h
|
||||
#define G4DPMJET2_5CrossSectionParamSet_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4DPMJET2_5CrossSectionParamSet.hh
|
||||
//
|
||||
// Version: 0.A
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// Class Description
|
||||
//
|
||||
//
|
||||
// Class Description - End
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
#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 () {};
|
||||
|
||||
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];
|
||||
};
|
||||
#endif
|
||||
@@ -1,645 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * *
|
||||
// * Parts of this code which have been developed by QinetiQ Ltd *
|
||||
// * under contract to the European Space Agency (ESA) are the *
|
||||
// * intellectual property of ESA. Rights to use, copy, modify and *
|
||||
// * redistribute this software for general public use are granted *
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * 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/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
|
||||
//
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// Class Description
|
||||
//
|
||||
//
|
||||
// Class Description - End
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
const int intmd = 252;
|
||||
const int maxpro = 8;
|
||||
const int intmx = 2488;
|
||||
const int mxafbk = 16;
|
||||
const int mxffbk = 6;
|
||||
const int mxnfbk = 10;
|
||||
const int mxzfbk = 9;
|
||||
const int mxpsst = 300;
|
||||
const int mxpsfb = 41000;
|
||||
const int nxafbk = 17; // NXAFBK = MXAFBK + 1
|
||||
const int nxnfbk = 15; // NXNFBK = MXNFBK + MXFFBK / 3
|
||||
const int nxzfbk = 14; // NXZFBK = MXZFBK + MXFFBK / 3
|
||||
const int nmxhkk = 89998;
|
||||
const int neb = 50;
|
||||
//
|
||||
//
|
||||
// This next line is required as the default version of FORTRAN LOGICAL is
|
||||
// four bytes long, whereas storage for G4bool is one byte.
|
||||
//
|
||||
typedef G4int ftnlogical;
|
||||
|
||||
struct ccdpm25casadi
|
||||
{
|
||||
G4double casaxx;
|
||||
G4int icasad;
|
||||
};
|
||||
struct ccdpm25cmhico
|
||||
{
|
||||
G4double cmhis;
|
||||
};
|
||||
struct ccdpm25cronin
|
||||
{
|
||||
G4double cronco;
|
||||
G4int mkcron;
|
||||
};
|
||||
struct ccdpm25colle
|
||||
{
|
||||
G4int nevhad, nvers, ihadrz, nfile;
|
||||
};
|
||||
struct ccdpm25collis
|
||||
{
|
||||
G4double s; //sometimes called ss
|
||||
G4int ijprox, ijtar;
|
||||
G4double ptthr, ptthr2;
|
||||
G4int iophrd, ijprlu, ijtalu;
|
||||
};
|
||||
struct ccdpm25coulo
|
||||
{
|
||||
G4int icoul;
|
||||
};
|
||||
struct ccdpm25diffra
|
||||
{
|
||||
G4int isingd, idiftp, ioudif, iflagd;
|
||||
};
|
||||
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;
|
||||
};
|
||||
struct ccdpm25diquax
|
||||
{
|
||||
G4double amedd;
|
||||
G4int idiqua, idiquu;
|
||||
};
|
||||
struct ccdpm25diqrej
|
||||
{
|
||||
G4int idiqre[7], idvre[3], ivdre[3], idsre[3], isdre[3],
|
||||
idzre[3], izdre[3], idiqrz[7];
|
||||
};
|
||||
struct ccdpm25dprin
|
||||
{
|
||||
G4int ipri, ipev, ippa, ipco, init, iphkk, itopd, ipaupr;
|
||||
};
|
||||
struct ccdpm25dropjj
|
||||
{
|
||||
G4double dropjt, dropva;
|
||||
};
|
||||
struct ccdpm25droppt
|
||||
{
|
||||
ftnlogical
|
||||
intpt, fermp, ihadss, ihadsv, ihadvs, ihadvv, ihada,
|
||||
ipadis, ishmal, lpauli;
|
||||
};
|
||||
struct ccdpm25edens
|
||||
{
|
||||
G4int ieden;
|
||||
};
|
||||
struct ccdpm25evappp
|
||||
{
|
||||
G4int ievap;
|
||||
};
|
||||
struct ccdpm25ferfor
|
||||
{
|
||||
G4int iferfo;
|
||||
};
|
||||
struct ccdpm25final
|
||||
{
|
||||
G4int ifinal;
|
||||
};
|
||||
struct ccdpm25fluctu
|
||||
{
|
||||
G4int ifluct;
|
||||
};
|
||||
struct ccdpm25secint
|
||||
{
|
||||
G4int isecin;
|
||||
};
|
||||
struct ccdpm25frbkcm
|
||||
{
|
||||
G4double amufbk, eexfbk[mxpsst], amfrbk[mxpsst],
|
||||
exfrbk[mxpsfb], sdmfbk[mxpsfb], coufbk[mxpsfb],
|
||||
exmxfb, r0frbk, r0cfbk, c1cfbk, c2cfbk;
|
||||
G4int ifrbkn[mxpsst], ifrbkz[mxpsst],
|
||||
ifbksp[mxpsst], ifbkpr[mxpsst], ifbkst[mxpsst],
|
||||
ipsind[2][mxzfbk+1][mxnfbk+1], jpsind[mxafbk+1],
|
||||
ifbind[2][mxzfbk+1][nxnfbk+1], jfbind[nxafbk+1],
|
||||
ifbcha[mxpsfb][5], iposst, iposfb, ifbstf,
|
||||
ifbfrb, nbufbk;
|
||||
ftnlogical
|
||||
lfrmbk, lncmss;
|
||||
};
|
||||
struct ccdpm25gluspl
|
||||
{
|
||||
G4int nugluu, nsgluu;
|
||||
};
|
||||
struct ccdpm25hadthr
|
||||
{
|
||||
G4double ehadth;
|
||||
G4int inthad;
|
||||
};
|
||||
struct ccdpm25hdjase
|
||||
{
|
||||
G4int nhse1, nhse2, nhse3, nhase1, nhase2, nhase3;
|
||||
};
|
||||
struct ccdpm25hettp
|
||||
{
|
||||
G4int nhstp, nbertp, iosub, insrs;
|
||||
};
|
||||
struct ccdpm25ifragm
|
||||
{
|
||||
G4int ifrag;
|
||||
};
|
||||
//struct ccdpm25infore
|
||||
//{
|
||||
// G4int ifrej;
|
||||
//};
|
||||
struct ccdpm25inpflg
|
||||
{
|
||||
G4int iang, ifiss, ib0, igeom, istrag, keydk;
|
||||
};
|
||||
struct ccdpm25kglaub
|
||||
{
|
||||
G4int jglaub;
|
||||
};
|
||||
struct ccdpm25nstari
|
||||
{
|
||||
G4int nstart;
|
||||
};
|
||||
struct ccdpm25ncshxx
|
||||
{
|
||||
G4int ncouxh, ncouxt;
|
||||
};
|
||||
struct ccdpm25nncms
|
||||
{
|
||||
G4double gamcm, bgcm, umo, pcm, eproj, pproj;
|
||||
};
|
||||
struct ccdpm25nucc
|
||||
{
|
||||
G4int it, itz, ip, ipz, ijproj, ibproj, ijtarg, ibtarg;
|
||||
};
|
||||
struct ccdpm25nuccc
|
||||
{
|
||||
G4int jt, jtz, jp, jpz, jjproj, jbproj, jjtarg, jbtarg;
|
||||
};
|
||||
struct ccdpm25nucimp
|
||||
{
|
||||
G4double prmom[248][5], tamom[248][5], prmfep, prmfen, tamfep,
|
||||
tamfen, prefep, prefen, taefep, taefen, prepot[210],
|
||||
taepot[210], prebin, taebin, fermod, etacou;
|
||||
};
|
||||
struct ccdpm25nuclea
|
||||
{
|
||||
G4double pfermp[2], pfermn[2], fermdd,
|
||||
ebindp[2], ebindn[2], epot[210][2],
|
||||
etacoo[2];
|
||||
G4int icoull;
|
||||
};
|
||||
struct ccdpm25parevt
|
||||
{
|
||||
G4double dpower, fsprd0, fshpfn, rn1gsc, rn2gsc;
|
||||
ftnlogical
|
||||
ldiffr[39], lpower, linctv, levprt, lheavy,
|
||||
ldeexg, lgdhpr, lpreex, lhlfix, lprfix, lparwv;
|
||||
G4int ilvmod, jlvmod;
|
||||
ftnlogical
|
||||
llvmod, lsngch, lschdf;
|
||||
};
|
||||
struct ccdpm25pomtab
|
||||
{
|
||||
G4int ipomta;
|
||||
};
|
||||
struct ccdpm25pomtyp
|
||||
{
|
||||
G4int ipim, icon, isig, lmax, mmax, nmax;
|
||||
G4double difel, difnu;
|
||||
};
|
||||
struct ccdpm25popcor
|
||||
{
|
||||
G4double pdb, ajsdef;
|
||||
};
|
||||
struct ccdpm25popcck
|
||||
{
|
||||
G4double pdbck, pdbse, pdbseu;
|
||||
G4int ijpock, irejck, ick4, ihad4, ick6, ihad6,
|
||||
irejse, ise4, ise6, irejs3, ise43, ise63, irejs0,
|
||||
ihada4, ihada6, irejsa, isea4, isea6, ireja3,
|
||||
isea43, isea63, ireja0;
|
||||
};
|
||||
//struct ccdpm25inxdpm
|
||||
//{
|
||||
// G4int intdpm;
|
||||
//};
|
||||
struct ccdpm25projk
|
||||
{
|
||||
G4int iprojk;
|
||||
};
|
||||
struct ccdpm25promu
|
||||
{
|
||||
G4int ipromu;
|
||||
};
|
||||
struct ccdpm25pshow
|
||||
{
|
||||
G4int ipshow;
|
||||
};
|
||||
struct ccdpm25ptlarg
|
||||
{
|
||||
G4double xsmax;
|
||||
};
|
||||
struct ccdpm25ptsamp
|
||||
{
|
||||
G4int isampt;
|
||||
};
|
||||
struct ccdpm25pydat1
|
||||
{
|
||||
G4int mstu[200];
|
||||
G4double paru[200];
|
||||
G4int mstj[200];
|
||||
G4double parj[200];
|
||||
};
|
||||
struct ccdpm25recom
|
||||
{
|
||||
G4int irecom;
|
||||
};
|
||||
struct ccdpm25seadiq
|
||||
{
|
||||
ftnlogical
|
||||
lseadi;
|
||||
};
|
||||
struct ccdpm25seaqxx
|
||||
{
|
||||
G4double seaqx, seaqxn;
|
||||
};
|
||||
struct ccdpm25seasu3
|
||||
{
|
||||
G4double seasq;
|
||||
};
|
||||
struct ccdpm25sincha
|
||||
{
|
||||
G4int isicha;
|
||||
};
|
||||
struct ccdpm25stars
|
||||
{
|
||||
G4int istar2, istar3;
|
||||
};
|
||||
struct ccdpm25strufu
|
||||
{
|
||||
G4int istrum, istrut;
|
||||
};
|
||||
struct ccdpm25taufo
|
||||
{
|
||||
G4double taufor;
|
||||
G4int ktauge, itauve, incmod;
|
||||
};
|
||||
struct ccdpm25user1
|
||||
{
|
||||
char titled[80], projty[8], targty[8];
|
||||
};
|
||||
struct ccdpm25user2
|
||||
{
|
||||
G4double cmener, sdfrac, ptlar;
|
||||
G4int istruf, isingx, idubld;
|
||||
};
|
||||
struct ccdpm25vxsvd
|
||||
{
|
||||
G4double vxsp[50], vxst[50], vxsap[50], vxsat[50],
|
||||
vxvp[50], vxvt[50], vxdp[50], vxdt[50];
|
||||
G4int nxsp, nxst, nxsap, nxsat, nxvp, nxvt, nxdp, nxdt;
|
||||
};
|
||||
struct ccdpm25xseadi
|
||||
{
|
||||
G4double xseacu, unon, unom, unosea, cvq, cdq, csea, ssmima,
|
||||
ssmimq, vvmthr;
|
||||
};
|
||||
struct ccdpm25zentra
|
||||
{
|
||||
G4int icentr;
|
||||
};
|
||||
struct ccdpm25bufueh
|
||||
{
|
||||
G4double annvv, annss, annsv, annvs, anncc,
|
||||
anndv, annvd, annds, annsd,
|
||||
annhh, annzz,
|
||||
ptvv, ptss, ptsv, ptvs, ptcc, ptdv, ptvd, ptds, ptsd,
|
||||
pthh, ptzz,
|
||||
eevv, eess, eesv, eevs, eecc, eedv, eevd, eeds, eesd,
|
||||
eehh, eezz,
|
||||
anndi, ptdi, eedi,
|
||||
annzd, anndz, ptzd, ptdz, eezd, eedz;
|
||||
};
|
||||
|
||||
struct ccdpm25bufues
|
||||
{
|
||||
G4double bnnvv, bnnss, bnnsv, bnnvs, bnncc,
|
||||
bnndv, bnnvd, bnnds, bnnsd,
|
||||
bnnhh, bnnzz,
|
||||
bptvv, bptss, bptsv, bptvs, bptcc, bptdv,
|
||||
bptvd, bptds, bptsd,
|
||||
bpthh, bptzz,
|
||||
beevv, beess, beesv, beevs, beecc, beedv,
|
||||
beevd, beeds, beesd,
|
||||
beehh, beezz,
|
||||
bnndi, bptdi, beedi,
|
||||
bnnzd, bnndz, bptzd, bptdz, beezd, beedz;
|
||||
};
|
||||
|
||||
struct ccdpm25ncouch
|
||||
{
|
||||
G4double acouvv, acouss, acousv, acouvs,
|
||||
acouzz, acouhh, acouds, acousd,
|
||||
acoudz, acouzd, acoudi,
|
||||
acoudv, acouvd, acoucc;
|
||||
};
|
||||
|
||||
struct ccdpm25ncoucs
|
||||
{
|
||||
G4double bcouvv, bcouss, bcousv, bcouvs,
|
||||
bcouzz, bcouhh, bcouds, bcousd,
|
||||
bcoudz, bcouzd, bcoudi,
|
||||
bcoudv, bcouvd, bcoucc;
|
||||
};
|
||||
struct ccdpm25dshm
|
||||
{
|
||||
G4double rash, rbsh, bmax, bstep, sigsh, rosh, gsh,
|
||||
bsite[200][2];
|
||||
G4int nstatb, nsiteb;
|
||||
};
|
||||
struct ccdpm25rptshm
|
||||
{
|
||||
G4double rproj,rtarg,bimpac;
|
||||
};
|
||||
struct ccdpm25dtumat
|
||||
{
|
||||
G4double bsiten[50][24][200], bsitem[50][24][200],
|
||||
rprojj[50], rtagg[50], bstepp[50], bmaxx[50],
|
||||
ntaxx[50], nztaxx[50], nprxx[50], nzprxx[50];
|
||||
};
|
||||
struct ccdpm25collap
|
||||
{
|
||||
G4double s3;
|
||||
G4int ijproj1, ijtar1;
|
||||
G4double ptthr1, ptthr3;
|
||||
G4int iophrd1, ijprlu1,
|
||||
ijtalu1;
|
||||
};
|
||||
struct ccdpm25diqi
|
||||
{
|
||||
G4int ipvq[248], ippv1[248], ippv2[248], itvq[248],
|
||||
ittv1[248], ittv2[248], ipsq[intmx], ipsq2[intmx],
|
||||
ipsaq[intmx], ipsaq2[intmx], itsq[intmx],
|
||||
itsq2[intmx], itsaq[intmx], itsaq2[intmx],
|
||||
kkproj[248], kktarg[248];
|
||||
};
|
||||
struct ccdpm25dpar
|
||||
{
|
||||
char aname[210];
|
||||
G4double aam[210], ga[210], tau[210];
|
||||
G4int iich[210],
|
||||
iibar[210], k1[210], k2[210];
|
||||
};
|
||||
struct ccdpm25extevt
|
||||
{
|
||||
G4int idres[nmxhkk], idxres[nmxhkk], nobam[nmxhkk],
|
||||
idbam[nmxhkk], idch[nmxhkk], npoint[10];
|
||||
};
|
||||
struct ccdpm25hkkevt
|
||||
{
|
||||
G4int nhkk, nevhkk, isthkk[nmxhkk], idhkk[nmxhkk],
|
||||
jmohkk[nmxhkk][2], jdahkk[nmxhkk][2];
|
||||
G4double phkk[nmxhkk][5],
|
||||
vhkk[nmxhkk][4], whkk[nmxhkk][4];
|
||||
};
|
||||
struct ccdpm25ifroto
|
||||
{
|
||||
G4int ifrovp[248], itovp[248], ifrosp[intmx],
|
||||
ifrovt[248], itovt[248], ifrost[intmx],
|
||||
jsshs[intmx], jtshs[intmx], jhkknp[248],
|
||||
jhkknt[248],
|
||||
jhkkpv[intmx], jhkkps[intmx],
|
||||
jhkktv[intmx], jhkkts[intmx],
|
||||
mhkkvv[intmx], mhkkss[intmx],
|
||||
mhkkvs[intmx], mhkksv[intmx],
|
||||
mhkkhh[intmx],
|
||||
mhkkdv[248], mhkkvd[248],
|
||||
mhkkds[intmd], mhkksd[intmd];
|
||||
};
|
||||
struct ccdpm25paname
|
||||
{
|
||||
char btype[30][8];
|
||||
};
|
||||
struct ccdpm25shmakl
|
||||
{
|
||||
G4int jssh[intmx], jtsh[intmx], inter1[intmx],
|
||||
inter2[intmx];
|
||||
};
|
||||
struct ccdpm25sigma
|
||||
{
|
||||
G4double sigsof, bs, zsof, sighar, fill[7];
|
||||
};
|
||||
struct ccdpm25xsecpt
|
||||
{
|
||||
G4double ptcut, sigs, dsigh;
|
||||
};
|
||||
struct ccdpm25nucros
|
||||
{
|
||||
G4double dsigsu, dsigmc;
|
||||
G4int ndsig;
|
||||
};
|
||||
struct ccdpm25hboo
|
||||
{
|
||||
G4int ihbook;
|
||||
};
|
||||
struct ccdpm25xsecnu
|
||||
{
|
||||
G4double ecmuu, ecmoo;
|
||||
G4int ngritt, nevtt;
|
||||
};
|
||||
struct ccdpm25glaber
|
||||
{
|
||||
G4double ecmnn[neb], ecmnow,
|
||||
xstot[neb], xsela[neb],
|
||||
xsqep[neb], xsqet[neb],
|
||||
xsqe2[neb], xspro[neb],
|
||||
xetot[neb], xeela[neb],
|
||||
xeqep[neb], xeqet[neb],
|
||||
xeqe2[neb], xepro[neb],
|
||||
bslope, elabb[neb];
|
||||
};
|
||||
|
||||
extern "C"
|
||||
{
|
||||
|
||||
extern void parpt_ (int*, double*, double*, int*, int*);
|
||||
extern void csj1mi_ (double*, double*);
|
||||
extern void ddatar_ ();
|
||||
extern void dhadde_ ();
|
||||
extern void dchant_ ();
|
||||
extern void dchanh_ ();
|
||||
extern void defaul_ (double*, double*);
|
||||
extern void defaux_ (double*, double*);
|
||||
extern void lundin_ ();
|
||||
extern void rndmst_ (int*, int*, int*, int*);
|
||||
extern void berttp_ ();
|
||||
extern void incini_ ();
|
||||
extern void distr_ (int*, int*, double*, int*);
|
||||
extern void shmakf_ (int*, int*, int*, int*);
|
||||
extern void shmaki_ (int*, int*, int*, int*, double*, double*, double*);
|
||||
extern void prblm2_ (double*);
|
||||
extern void jtdtu_ (int*);
|
||||
extern void samppt_ (int*, double*);
|
||||
extern void dpmevt_ (double*, int*, int*, int*, int*, int*, int*, int*);
|
||||
extern void kkinc_ (double*, int*, int*, int*, int*, int*, int*, int*, int*, int*);
|
||||
extern double rd2in_ (int*, int*);
|
||||
extern double rd2out_ (int*, int*);
|
||||
extern void xsglau_ (int*, int*, int*, int*);
|
||||
|
||||
extern void g4dpmjet_initialise_block_data_ ();
|
||||
extern void g4dpmjet_open_nuclear_bin_ (int*, int*, int*, char*);
|
||||
extern void g4dpmjet_close_nuclear_bin_ (int*);
|
||||
extern void g4dpmjet_open_fort6_ (int*, int*, char*);
|
||||
extern void g4dpmjet_close_fort6_ ();
|
||||
|
||||
extern struct ccdpm25casadi casadi_;
|
||||
extern struct ccdpm25cmhico cmhico_;
|
||||
extern struct ccdpm25cronin cronin_;
|
||||
extern struct ccdpm25colle colle_;
|
||||
extern struct ccdpm25collis collis_;
|
||||
extern struct ccdpm25coulo coulo_;
|
||||
extern struct ccdpm25diffra diffra_;
|
||||
extern struct ccdpm25diqsum diqsum_;
|
||||
extern struct ccdpm25diquax diquax_;
|
||||
extern struct ccdpm25diqrej diqrej_;
|
||||
extern struct ccdpm25dprin dprin_;
|
||||
extern struct ccdpm25dropjj dropjj_;
|
||||
extern struct ccdpm25droppt droppt_;
|
||||
extern struct ccdpm25edens edens_;
|
||||
extern struct ccdpm25evappp evappp_;
|
||||
extern struct ccdpm25ferfor ferfor_;
|
||||
extern struct ccdpm25final final_;
|
||||
extern struct ccdpm25fluctu fluctu_;
|
||||
extern struct ccdpm25secint secint_;
|
||||
extern struct ccdpm25frbkcm frbkcm_;
|
||||
extern struct ccdpm25gluspl gluspl_;
|
||||
extern struct ccdpm25hadthr hadthr_;
|
||||
extern struct ccdpm25hdjase hdjase_;
|
||||
extern struct ccdpm25hettp hettp_;
|
||||
extern struct ccdpm25ifragm ifragm_;
|
||||
//extern struct ccdpm25infore infore_;
|
||||
extern struct ccdpm25inpflg inpflg_;
|
||||
extern struct ccdpm25kglaub kglaub_;
|
||||
extern struct ccdpm25nstari nstari_;
|
||||
extern struct ccdpm25ncshxx ncshxx_;
|
||||
extern struct ccdpm25nncms nncms_;
|
||||
extern struct ccdpm25nucc nucc_;
|
||||
extern struct ccdpm25nuccc nuccc_;
|
||||
extern struct ccdpm25nucimp nucimp_;
|
||||
extern struct ccdpm25nuclea nuclea_;
|
||||
extern struct ccdpm25parevt parevt_;
|
||||
extern struct ccdpm25pomtab pomtab_;
|
||||
extern struct ccdpm25pomtyp pomtyp_;
|
||||
extern struct ccdpm25popcor popcor_;
|
||||
extern struct ccdpm25popcck popcck_;
|
||||
//extern struct ccdpm25inxdpm inxdpm_;
|
||||
extern struct ccdpm25projk projk_;
|
||||
extern struct ccdpm25promu promu_;
|
||||
extern struct ccdpm25pshow pshow_;
|
||||
extern struct ccdpm25ptlarg ptlarg_;
|
||||
extern struct ccdpm25ptsamp ptsamp_;
|
||||
extern struct ccdpm25pydat1 pydat1_;
|
||||
extern struct ccdpm25recom recom_;
|
||||
extern struct ccdpm25seadiq seadiq_;
|
||||
extern struct ccdpm25seaqxx seaqxx_;
|
||||
extern struct ccdpm25seasu3 seasu3_;
|
||||
extern struct ccdpm25sincha sincha_;
|
||||
extern struct ccdpm25stars stars_;
|
||||
extern struct ccdpm25strufu strufu_;
|
||||
extern struct ccdpm25taufo taufo_;
|
||||
extern struct ccdpm25user1 user1_;
|
||||
extern struct ccdpm25user2 user2_;
|
||||
extern struct ccdpm25vxsvd vxsvd_;
|
||||
extern struct ccdpm25xseadi xseadi_;
|
||||
extern struct ccdpm25zentra zentra_;
|
||||
extern struct ccdpm25bufueh bufueh_;
|
||||
extern struct ccdpm25bufues bufues_;
|
||||
extern struct ccdpm25ncouch ncouch_;
|
||||
extern struct ccdpm25ncoucs ncoucs_;
|
||||
extern struct ccdpm25dshm dshm_;
|
||||
extern struct ccdpm25rptshm rptshm_;
|
||||
extern struct ccdpm25dtumat dtumat_;
|
||||
extern struct ccdpm25collap collap_;
|
||||
extern struct ccdpm25diqi diqi_;
|
||||
extern struct ccdpm25dpar dpar_;
|
||||
extern struct ccdpm25extevt extevt_;
|
||||
extern struct ccdpm25hkkevt hkkevt_;
|
||||
extern struct ccdpm25ifroto ifroto_;
|
||||
extern struct ccdpm25paname paname_;
|
||||
extern struct ccdpm25shmakl shmakl_;
|
||||
extern struct ccdpm25sigma sigma_;
|
||||
extern struct ccdpm25xsecpt xsecpt_;
|
||||
extern struct ccdpm25nucros nucros_;
|
||||
extern struct ccdpm25hboo hboo_;
|
||||
extern struct ccdpm25xsecnu xsecnu_;
|
||||
extern struct ccdpm25glaber glaber_;
|
||||
}
|
||||
// NOTE Should there be a semicolon after the close-curly bracket ?? Some
|
||||
// compilers think yes, others no!
|
||||
#endif
|
||||
@@ -1,297 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * *
|
||||
// * Parts of this code which have been developed by QinetiQ Ltd *
|
||||
// * under contract to the European Space Agency (ESA) are the *
|
||||
// * intellectual property of ESA. Rights to use, copy, modify and *
|
||||
// * redistribute this software for general public use are granted *
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * 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/G4DPMJET2_5Model.hh
|
||||
/// \brief Definition of the G4DPMJET2_5Model class
|
||||
//
|
||||
// $Id: G4DPMJET2_5Model.hh 81932 2014-06-06 15:39:45Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4DPMJET2_5Model_h
|
||||
#define G4DPMJET2_5Model_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4DPMJET2_5Model.hh
|
||||
//
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// Class Description
|
||||
//
|
||||
//
|
||||
// Class Description - End
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4ParticleTable.hh"
|
||||
|
||||
#include "G4HadronicInteraction.hh"
|
||||
#include "G4WilsonAblationModel.hh"
|
||||
#include "G4ExcitationHandler.hh"
|
||||
#include "G4VPreCompoundModel.hh"
|
||||
#include "G4HadFinalState.hh"
|
||||
#include "G4Track.hh"
|
||||
#include "G4Nucleus.hh"
|
||||
#include "G4Fragment.hh"
|
||||
#include "G4HadProjectile.hh"
|
||||
#include "G4Material.hh"
|
||||
#include "G4Element.hh"
|
||||
|
||||
#include "G4GlaubAADataSetHandler.hh"
|
||||
#include <sstream>
|
||||
|
||||
class G4GlaubAADataSetHandler;
|
||||
enum G4DPMJET2_5InitialisationType { DEFAULT=1, DPM2_5=2, DPM3=3, CORSIKA=4 };
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4DPMJET2_5Model : public G4HadronicInteraction
|
||||
{
|
||||
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);
|
||||
virtual ~G4DPMJET2_5Model ();
|
||||
|
||||
G4DPMJET2_5Model(const G4DPMJET2_5Model &right);
|
||||
|
||||
const G4DPMJET2_5Model& operator=(G4DPMJET2_5Model &right);
|
||||
|
||||
virtual G4bool IsApplicable(const G4HadProjectile &theTrack,
|
||||
G4Nucleus &theTarget);
|
||||
|
||||
virtual G4HadFinalState *ApplyYourself(const G4HadProjectile &,
|
||||
G4Nucleus &);
|
||||
|
||||
virtual const std::pair<G4double, G4double> GetFatalEnergyCheckLevels() const;
|
||||
|
||||
inline G4GlaubAADataSetHandler *GetGlauberDataSetHandler ();
|
||||
|
||||
inline void SetVerboseLevel (G4int);
|
||||
|
||||
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 ();
|
||||
|
||||
G4DPMJET2_5InitialisationType theInitType;
|
||||
|
||||
G4GlaubAADataSetHandler *theGlauberDataSetHandler;
|
||||
|
||||
G4ParticleTable *theParticleTable;
|
||||
G4IonTable *theIonTable;
|
||||
|
||||
G4bool debug;
|
||||
G4int debug_level;
|
||||
G4int lunber;
|
||||
G4double dpmver;
|
||||
G4String defaultDirName;
|
||||
|
||||
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;
|
||||
|
||||
ftnlogical LTRUE;
|
||||
ftnlogical LFALSE;
|
||||
|
||||
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;}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline void G4DPMJET2_5Model::SetDPMInitialRandomSeeds (const G4int seed1,
|
||||
const G4int seed2)
|
||||
{
|
||||
G4int s1 = seed1;
|
||||
G4int s2 = seed2;
|
||||
rd2in_ (&s1, &s2);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline G4int G4DPMJET2_5Model::GetDPMInitialRandomSeeds (const G4int i)
|
||||
const
|
||||
{
|
||||
G4int seed1, seed2;
|
||||
rd2out_ (&seed1, &seed2);
|
||||
if (i == 0) return seed1;
|
||||
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)
|
||||
{
|
||||
TAUFOR = TAUFOR_P;
|
||||
KTAUGE = KTAUGE_P;
|
||||
ITAUVE = ITAUVE_P;
|
||||
taufo_.taufor = TAUFOR;
|
||||
taufo_.ktauge = KTAUGE;
|
||||
taufo_.itauve = ITAUVE;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
@@ -1,101 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * *
|
||||
// * Parts of this code which have been developed by QinetiQ Ltd *
|
||||
// * under contract to the European Space Agency (ESA) are the *
|
||||
// * intellectual property of ESA. Rights to use, copy, modify and *
|
||||
// * redistribute this software for general public use are granted *
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * 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/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
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4FullGlaubAADataSet.hh
|
||||
//
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// Class Description
|
||||
//
|
||||
//
|
||||
// Class Description - End
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
#include "G4GlaubAADataSet.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include <fstream>
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4FullGlaubAADataSet : public G4GlaubAADataSet
|
||||
{
|
||||
public:
|
||||
|
||||
G4FullGlaubAADataSet ();
|
||||
G4FullGlaubAADataSet (const G4int AP1, const G4int AT1);
|
||||
virtual ~G4FullGlaubAADataSet ();
|
||||
|
||||
G4FullGlaubAADataSet (const G4FullGlaubAADataSet &right);
|
||||
|
||||
const G4FullGlaubAADataSet& operator=(G4FullGlaubAADataSet &right);
|
||||
|
||||
G4bool CreateGlauberData (const G4int AP1, const G4int AT1);
|
||||
G4double *GetArrayPointerN (const G4double ppn = 0.0);
|
||||
G4double *GetArrayPointerM (const G4double ppn = 0.0);
|
||||
|
||||
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
|
||||
@@ -1,95 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * *
|
||||
// * Parts of this code which have been developed by QinetiQ Ltd *
|
||||
// * under contract to the European Space Agency (ESA) are the *
|
||||
// * intellectual property of ESA. Rights to use, copy, modify and *
|
||||
// * redistribute this software for general public use are granted *
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * 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/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
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4GlaubAADataSet.hh
|
||||
//
|
||||
// Version: 0.A
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// Class Description
|
||||
//
|
||||
//
|
||||
// Class Description - End
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
#include "G4VGlauberDataSet.hh"
|
||||
#include "globals.hh"
|
||||
#include <fstream>
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4GlaubAADataSet : public G4VGlauberDataSet
|
||||
{
|
||||
public:
|
||||
|
||||
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();
|
||||
|
||||
public:
|
||||
G4int stabZ[211];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
@@ -1,152 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * *
|
||||
// * Parts of this code which have been developed by QinetiQ Ltd *
|
||||
// * under contract to the European Space Agency (ESA) are the *
|
||||
// * intellectual property of ESA. Rights to use, copy, modify and *
|
||||
// * redistribute this software for general public use are granted *
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * 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/G4GlaubAADataSetHandler.hh
|
||||
/// \brief Definition of the G4GlaubAADataSetHandler class
|
||||
//
|
||||
// $Id: G4GlaubAADataSetHandler.hh 81932 2014-06-06 15:39:45Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4GlaubAADataSetHandler_h
|
||||
#define G4GlaubAADataSetHandler_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4GlaubAADataSetHandler.hh
|
||||
//
|
||||
// Version: 0.A
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// Class Description
|
||||
//
|
||||
//
|
||||
// Class Description - End
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4Isotope.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
#include <map>
|
||||
#include <vector>
|
||||
|
||||
class G4GlauberDataSet;
|
||||
class G4DPMJET2_5Model;
|
||||
|
||||
#include "G4GlaubAADataSet.hh"
|
||||
#include "G4FullGlaubAADataSet.hh"
|
||||
#include "G4ParamType1GlaubAADataSet.hh"
|
||||
#include "G4DPMJET2_5Model.hh"
|
||||
|
||||
typedef std::map< G4int, G4ParamType1GlaubAADataSet *, std::less< G4int > >
|
||||
G4GlaubAADataSetIndex;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4GlaubAADataSetHandler
|
||||
{
|
||||
|
||||
protected:
|
||||
G4GlaubAADataSetHandler ();
|
||||
|
||||
public:
|
||||
|
||||
virtual ~G4GlaubAADataSetHandler ();
|
||||
static G4GlaubAADataSetHandler* getInstance ();
|
||||
|
||||
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;
|
||||
|
||||
inline void SetVerboseLevel (const G4int i);
|
||||
inline G4int GetVerboseLevel () const;
|
||||
|
||||
G4int UnloadAllGlauberData ();
|
||||
|
||||
private:
|
||||
|
||||
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;
|
||||
|
||||
G4GlaubAADataSetIndex theIndex;
|
||||
G4String glauberDataSetDir;
|
||||
|
||||
G4int maxGlauberDataSets;
|
||||
G4int cntGlauberDataSets;
|
||||
|
||||
G4GlaubAADataSet *theCurrentGlauberDataSet;
|
||||
G4double ppnCurrent;
|
||||
G4bool usingLocalGlauberDataSet;
|
||||
|
||||
G4int maxArray;
|
||||
|
||||
G4int verboseLevel;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline void G4GlaubAADataSetHandler::SetVerboseLevel (const G4int i)
|
||||
{verboseLevel = i;}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
inline G4int G4GlaubAADataSetHandler::GetVerboseLevel () const
|
||||
{return verboseLevel;}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
@@ -1,123 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * *
|
||||
// * Parts of this code which have been developed by QinetiQ Ltd *
|
||||
// * under contract to the European Space Agency (ESA) are the *
|
||||
// * intellectual property of ESA. Rights to use, copy, modify and *
|
||||
// * redistribute this software for general public use are granted *
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * 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/G4ParamType1GlaubAADataSet.hh
|
||||
/// \brief Definition of the G4ParamType1GlaubAADataSet class
|
||||
//
|
||||
// $Id: G4ParamType1GlaubAADataSet.hh 81932 2014-06-06 15:39:45Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4ParamType1GlaubAADataSet_h
|
||||
#define G4ParamType1GlaubAADataSet_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4ParamType1GlaubAADataSet.hh
|
||||
//
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// Class Description
|
||||
//
|
||||
//
|
||||
// Class Description - End
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
#include "G4FullGlaubAADataSet.hh"
|
||||
#include "G4GlaubAADataSet.hh"
|
||||
#include "G4Type1GlauberParameterisation.hh"
|
||||
|
||||
#include "G4DPMJET2_5Interface.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
#include <fstream>
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
|
||||
class G4ParamType1GlaubAADataSet : public G4GlaubAADataSet,
|
||||
public G4Type1GlauberParameterisation
|
||||
{
|
||||
public:
|
||||
|
||||
G4ParamType1GlaubAADataSet ();
|
||||
G4ParamType1GlaubAADataSet (const G4int AP1, const G4int AT1);
|
||||
G4ParamType1GlaubAADataSet (G4FullGlaubAADataSet *fullGlauberDataSet);
|
||||
~G4ParamType1GlaubAADataSet ();
|
||||
G4ParamType1GlaubAADataSet (const G4ParamType1GlaubAADataSet &right);
|
||||
|
||||
const
|
||||
G4ParamType1GlaubAADataSet& operator=(G4ParamType1GlaubAADataSet &right);
|
||||
|
||||
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;
|
||||
|
||||
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);}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
// GetValueM
|
||||
//
|
||||
inline
|
||||
G4double G4ParamType1GlaubAADataSet::GetValueM (const G4double f,
|
||||
const G4double ppn) const
|
||||
{return GetParameterisedValueM (f, ppn);}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
@@ -1,104 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * *
|
||||
// * Parts of this code which have been developed by QinetiQ Ltd *
|
||||
// * under contract to the European Space Agency (ESA) are the *
|
||||
// * intellectual property of ESA. Rights to use, copy, modify and *
|
||||
// * redistribute this software for general public use are granted *
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * 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/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
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4Type1GlauberParameterisation.hh
|
||||
//
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// Class Description
|
||||
//
|
||||
//
|
||||
// Class Description - End
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
#include <fstream>
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4Type1GlauberParameterisation
|
||||
{
|
||||
public:
|
||||
|
||||
G4Type1GlauberParameterisation ();
|
||||
~G4Type1GlauberParameterisation ();
|
||||
|
||||
G4double GetFitParameters (const G4double *bsite, G4double *p) const;
|
||||
|
||||
G4double GetParameterisedValueN (const G4double f, const G4double ppn) const;
|
||||
G4double GetParameterisedValueM (const G4double f, const G4double ppn) const;
|
||||
|
||||
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 limit1;
|
||||
G4double limit2;
|
||||
G4double limit3;
|
||||
G4double limit4;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
@@ -1,138 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * *
|
||||
// * Parts of this code which have been developed by QinetiQ Ltd *
|
||||
// * under contract to the European Space Agency (ESA) are the *
|
||||
// * intellectual property of ESA. Rights to use, copy, modify and *
|
||||
// * redistribute this software for general public use are granted *
|
||||
// * in compliance with any licensing, distribution and development *
|
||||
// * policy adopted by the Geant4 Collaboration. This code has been *
|
||||
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
|
||||
// * contract 19770/06/NL/JD (Technology Research Programme). *
|
||||
// * *
|
||||
// * 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/G4VGlauberDataSet.hh
|
||||
/// \brief Definition of the G4VGlauberDataSet class
|
||||
//
|
||||
// $Id: G4VGlauberDataSet.hh 81932 2014-06-06 15:39:45Z gcosmo $
|
||||
//
|
||||
|
||||
#ifndef G4VGlauberDataSet_h
|
||||
#define G4VGlauberDataSet_h
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// MODULE: G4VGlauberDataSet.hh
|
||||
//
|
||||
// Version: 0.B
|
||||
// Date: 02/04/08
|
||||
// Author: P R Truscott
|
||||
// Organisation: QinetiQ Ltd, UK
|
||||
// Customer: ESA/ESTEC, NOORDWIJK
|
||||
// Contract: 19770/06/NL/JD
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// Class Description
|
||||
//
|
||||
//
|
||||
// Class Description - End
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
#include "globals.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
|
||||
#include <fstream>
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
class G4VGlauberDataSet
|
||||
{
|
||||
public:
|
||||
|
||||
G4VGlauberDataSet ();
|
||||
virtual ~G4VGlauberDataSet ();
|
||||
|
||||
G4VGlauberDataSet (const G4VGlauberDataSet &right);
|
||||
const G4VGlauberDataSet& operator=(G4VGlauberDataSet &right);
|
||||
|
||||
inline G4int GetVerboseLevel () const;
|
||||
inline void SetVerboseLevel (const G4int i);
|
||||
|
||||
G4int GetAP () const;
|
||||
G4int GetZP () const;
|
||||
G4int GetAT () const;
|
||||
G4int GetZT () const;
|
||||
|
||||
G4int GetGlauberDataSetType () const;
|
||||
|
||||
void SetArrayPointer (const G4int i);
|
||||
inline G4double *GetArrayPointerN (const G4double ppn = 0.0);
|
||||
inline G4double *GetArrayPointerM (const G4double ppn = 0.0);
|
||||
|
||||
virtual std::ofstream & WriteDataToFile (std::ofstream &File) const;
|
||||
virtual std::ifstream & ReadDataFromFile (std::ifstream &File);
|
||||
|
||||
public:
|
||||
|
||||
G4double rproj;
|
||||
G4double rtarg;
|
||||
G4double bstep;
|
||||
G4double bmax;
|
||||
G4int AP;
|
||||
G4int ZP;
|
||||
G4int AT;
|
||||
G4int ZT;
|
||||
|
||||
G4double * baseArrayPtrn;
|
||||
G4double * baseArrayPtrm;
|
||||
G4double * arrayPtrn;
|
||||
G4double * arrayPtrm;
|
||||
|
||||
G4int glauberDataSetType;
|
||||
|
||||
G4int maxArray;
|
||||
G4int maxig;
|
||||
|
||||
G4int verboseLevel;
|
||||
|
||||
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;}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
inline G4int G4VGlauberDataSet::GetVerboseLevel () const
|
||||
{return verboseLevel;}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
@@ -1,93 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file hadronic/Hadr02/include/IonDPMJETPhysics.hh
|
||||
/// \brief Definition of the IonDPMJETPhysics class
|
||||
//
|
||||
// $Id: IonDPMJETPhysics.hh 77665 2013-11-27 10:15:08Z gcosmo $
|
||||
// GRAS tag Name: gras-02-05-02
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// Header: IonDPMJETPhysics
|
||||
//
|
||||
// Author: copy from P.Truscott manuel DPMJET2.5
|
||||
//
|
||||
//
|
||||
// Customer:
|
||||
// Contract:
|
||||
//
|
||||
// Modifications are provided according to
|
||||
//
|
||||
// Organisation:
|
||||
// Customer:
|
||||
// Contract:
|
||||
//
|
||||
// Modified: 26.08.2010
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef IonDPMJETPhysics_h
|
||||
#define IonDPMJETPhysics_h 1
|
||||
|
||||
#include "G4VHadronPhysics.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4BinaryLightIonReaction;
|
||||
class G4DPMJET2_5Model;
|
||||
class G4DPMJET2_5CrossSection;
|
||||
class G4VCrossSectionDataSet;
|
||||
|
||||
class IonDPMJETPhysics : public G4VHadronPhysics
|
||||
{
|
||||
public:
|
||||
|
||||
IonDPMJETPhysics(G4bool val);
|
||||
virtual ~IonDPMJETPhysics();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each physics process will be instantiated and
|
||||
// registered to the process manager of each particle type
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
|
||||
void AddProcess(const G4String& name, G4ParticleDefinition* part,
|
||||
G4bool isIon);
|
||||
|
||||
G4VCrossSectionDataSet* fTripathi;
|
||||
G4VCrossSectionDataSet* fTripathiLight;
|
||||
G4VCrossSectionDataSet* fShen;
|
||||
G4VCrossSectionDataSet* fIonH;
|
||||
G4BinaryLightIonReaction* fIonBC;
|
||||
#ifdef G4_USE_DPMJET
|
||||
G4DPMJET2_5Model* fDPM;
|
||||
G4DPMJET2_5CrossSection* fDpmXS;
|
||||
G4bool fUseDPMJETXS;
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user