32 #define ABLAXX_IN_GEANT4_MODE 1
36 #ifdef ABLAXX_IN_GEANT4_MODE
53 theABLAModel(new
G4Abla(volant, ablaResult)),
95 for(
int j = 0; j < ablaResult->
ntrack; ++j) {
99 ablaResult->
plab[j]*std::sin(ablaResult->
tetlab[j]*
pi/180.0)*std::cos(ablaResult->
philab[j]*
pi/180.0),
100 ablaResult->
plab[j]*std::sin(ablaResult->
tetlab[j]*
pi/180.0)*std::sin(ablaResult->
philab[j]*
pi/180.0),
101 ablaResult->
plab[j]*std::cos(ablaResult->
tetlab[j]*
pi/180.0));
103 result->push_back(product);
116 else if(A == 3 && Z == 2)
return G4He3::He3();
118 else if(A > 0 && Z > 0 && A >= Z) {
121 G4cout <<
"Can't convert particle with A=" << A <<
", Z=" << Z <<
" to G4ParticleDefinition, trouble ahead" <<
G4endl;
144 outFile <<
"ABLA V3 does not provide an implementation of the ApplyYourself method!\n\n";
148 outFile <<
"ABLA V3 is a statistical model for nuclear de-excitation. It simulates\n"
149 <<
"evaporation of neutrons, protons and alpha particles, as well as fission\n"
150 <<
"where applicable. The code included in Geant4 is a C++ translation of the\n"
151 <<
"original Fortran code. More details about the physics are available in the\n"
152 <<
"the Geant4 Physics Reference Manual and in the reference articles.\n\n"
153 <<
"References: A.R. Junghans et al., Nucl. Phys. A629 (1998) 635;\n"
154 <<
" J. Benlliure et al., Nucl. Phys. A628 (1998) 458.\n\n"; }
156 #endif // ABLAXX_IN_GEANT4_MODE
G4double G4ParticleHPJENDLHEData::G4double result
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
G4double plab[VARNTPSIZE]
virtual G4ReactionProductVector * DeExcite(G4Fragment &aFragment)
G4ThreeVector GetAngularMomentum() const
G4double enerj[VARNTPSIZE]
std::vector< G4ReactionProduct * > G4ReactionProductVector
void breakItUp(G4int nucleusA, G4int nucleusZ, G4double nucleusMass, G4double excitationEnergy, G4double angularMomentum, G4double recoilEnergy, G4double momX, G4double momY, G4double momZ, G4int eventnumber)
G4GLOB_DLL std::ostream G4cout
double A(double temperature)
virtual void ModelDescription(std::ostream &outFile) const
virtual ~G4AblaInterface()
const G4LorentzVector & GetMomentum() const
static G4Triton * Triton()
G4double tetlab[VARNTPSIZE]
static G4Proton * Proton()
static G4PionPlus * PionPlus()
G4double GetGroundStateMass() const
static G4Neutron * Neutron()
static G4PionZero * PionZero()
static G4Deuteron * Deuteron()
static G4IonTable * GetIonTable()
virtual void DeExciteModelDescription(std::ostream &outFile) const
G4double energy(const ThreeVector &p, const G4double m)
static G4PionMinus * PionMinus()
G4double philab[VARNTPSIZE]
double invariantMass(const HepLorentzVector &w) const
static constexpr double MeV
static constexpr double pi
G4double GetExcitationEnergy() const