34#define ABLAXX_IN_GEANT4_MODE 1
38#ifdef ABLAXX_IN_GEANT4_MODE
55 theABLAModel(new
G4Abla(volant, ablaResult)),
93 for(
int j = 0; j < ablaResult->
ntrack; ++j) {
100 ablaResult->
pylab[j],
101 ablaResult->
pzlab[j]);
103 result->push_back(product);
118 else if(A == 3 && Z == 2 &&
S == 0)
return G4He3::He3();
120 else if(A > 0 && Z > 0 && A > Z) {
123 G4cout <<
"Can't convert particle with A=" <<
A <<
", Z=" << Z <<
", S=" <<
S <<
" to G4ParticleDefinition, trouble ahead" <<
G4endl;
147 outFile <<
"ABLA++ does not provide an implementation of the ApplyYourself method!\n\n";
152 <<
"ABLA++ is a statistical model for nuclear de-excitation. It simulates\n"
153 <<
"the gamma emission and the evaporation of neutrons, light charged particles\n"
154 <<
"and IMFs, as well as fission where applicable. The code included in Geant4\n"
155 <<
"is a C++ translation of the original Fortran code ABLA07. Although the model\n"
156 <<
"has been recently extended to hypernuclei by including the evaporation of lambda\n"
157 <<
"particles. More details about the physics are available in the\n"
158 <<
"Geant4 Physics Reference Manual and in the reference articles.\n\n"
160 <<
"(1) A. Kelic, M. V. Ricciardi, and K. H. Schmidt, in Proceedings of Joint\n"
161 <<
"ICTP-IAEA Advanced Workshop on Model Codes for Spallation Reactions,\n"
162 <<
"ICTP Trieste, Italy, 4–8 February 2008, edited by D. Filges, S. Leray, Y. Yariv,\n"
163 <<
"A. Mengoni, A. Stanculescu, and G. Mank (IAEA INDC(NDS)-530, Vienna, 2008), pp. 181–221.\n\n"
164 <<
"(2) J.L. Rodriguez-Sanchez, J.-C. David et al., Phys. Rev. C 98, 021602 (2018)\n\n";
double A(double temperature)
std::vector< G4ReactionProduct * > G4ReactionProductVector
G4GLOB_DLL std::ostream G4cout
virtual void DeExciteModelDescription(std::ostream &outFile) const
virtual void ModelDescription(std::ostream &outFile) const
virtual G4ReactionProductVector * DeExcite(G4Fragment &aFragment)
virtual ~G4AblaInterface()
void DeexcitationAblaxx(G4int nucleusA, G4int nucleusZ, G4double excitationEnergy, G4double angularMomentum, G4double momX, G4double momY, G4double momZ, G4int eventnumber)
static G4Deuteron * Deuteron()
G4double GetExcitationEnergy() const
const G4LorentzVector & GetMomentum() const
G4ThreeVector GetAngularMomentum() const
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
static G4IonTable * GetIonTable()
static G4Lambda * Lambda()
static G4Neutron * Neutron()
static G4PionMinus * PionMinus()
static G4PionPlus * PionPlus()
static G4PionZero * PionZero()
static G4Proton * Proton()
static G4Triton * Triton()
G4double enerj[VARNTPSIZE]
G4double pylab[VARNTPSIZE]
G4double pzlab[VARNTPSIZE]
G4double pxlab[VARNTPSIZE]
G4double energy(const ThreeVector &p, const G4double m)