Geant4-11
Public Member Functions | Data Fields | Private Attributes
G4VarNtp Class Reference

#include <G4AblaDataDefs.hh>

Public Member Functions

void addParticle (G4double A, G4double Z, G4double E, G4double P, G4double theta, G4double phi)
 
void clear ()
 
void dump ()
 
 G4VarNtp ()
 
G4double getMass (G4int particle)
 
G4double getMomentumSum ()
 
G4int getTotalBaryonNumber ()
 
G4double getTotalEnergy ()
 
G4double getTotalThreeMomentum ()
 
 ~G4VarNtp ()
 

Data Fields

G4int avv [VARNTPSIZE]
 
G4double bimpact
 
G4double enerj [VARNTPSIZE]
 
G4double erecrem
 
G4double estfis
 
G4double exini
 
G4double exsp
 
G4bool full [VARNTPSIZE]
 
G4int iafis
 
G4int itypcasc [VARNTPSIZE]
 
G4int izfis
 
G4int jremn
 
G4int kfis
 
G4double masp
 
G4double massini
 
G4double mcorem
 
G4double mrem
 
G4int mulncasc
 
G4int mulnevap
 
G4int mulntot
 
G4double mzini
 
G4double mzsp
 
G4bool needsFermiBreakup
 
G4int ntrack
 
G4double pcorem
 
G4double philab [VARNTPSIZE]
 
G4double plab [VARNTPSIZE]
 
G4double projEnergy
 
G4int projType
 
G4double pxlab [VARNTPSIZE]
 
G4double pxrem
 
G4double pylab [VARNTPSIZE]
 
G4double pyrem
 
G4double pzlab [VARNTPSIZE]
 
G4double pzrem
 
G4int spectatorA
 
G4double spectatorEx
 
G4double spectatorM
 
G4double spectatorP1
 
G4double spectatorP2
 
G4double spectatorP3
 
G4double spectatorT
 
G4int spectatorZ
 
G4int svv [VARNTPSIZE]
 
G4int targetA
 
G4int targetZ
 
G4double tetlab [VARNTPSIZE]
 
G4int zvv [VARNTPSIZE]
 

Private Attributes

G4int particleIndex
 

Detailed Description

Definition at line 315 of file G4AblaDataDefs.hh.

Constructor & Destructor Documentation

◆ G4VarNtp()

G4VarNtp::G4VarNtp ( )
inline

Definition at line 317 of file G4AblaDataDefs.hh.

317 {
318 clear();
319 };
void clear()

References clear().

◆ ~G4VarNtp()

G4VarNtp::~G4VarNtp ( )
inline

Definition at line 321 of file G4AblaDataDefs.hh.

321{};

Member Function Documentation

◆ addParticle()

void G4VarNtp::addParticle ( G4double  A,
G4double  Z,
G4double  E,
G4double  P,
G4double  theta,
G4double  phi 
)
inline

Add a particle to the INCL/ABLA final output.

Definition at line 378 of file G4AblaDataDefs.hh.

378 {
379 if(full[particleIndex]) {
380 // G4cout <<"A = " << Z << " Z = " << Z << G4endl;
381 } else {
382 avv[particleIndex] = (int) A;
383 zvv[particleIndex] = (int) Z;
384 enerj[particleIndex] = E;
386 tetlab[particleIndex] = theta;
387 philab[particleIndex] = phi;
388 full[particleIndex] = true;
389 ntrack = particleIndex + 1;
391 }
392 }
const G4int Z[17]
const G4double A[17]
G4bool full[VARNTPSIZE]
G4double enerj[VARNTPSIZE]
G4int avv[VARNTPSIZE]
G4double plab[VARNTPSIZE]
G4double tetlab[VARNTPSIZE]
G4double philab[VARNTPSIZE]
G4int particleIndex
G4int zvv[VARNTPSIZE]
static double P[]

References A, avv, enerj, full, ntrack, P, particleIndex, philab, plab, tetlab, Z, and zvv.

◆ clear()

void G4VarNtp::clear ( )
inline

Clear and initialize all variables and arrays.

Definition at line 326 of file G4AblaDataDefs.hh.

326 {
327 particleIndex = 0;
328 projType = 0;
329 projEnergy = 0.0;
330 targetA = 0;
331 targetZ = 0;
332 masp = 0.0; mzsp = 0.0; exsp = 0.0; mrem = 0.0;
333 // To be deleted?
334 spectatorA = 0;
335 spectatorZ = 0;
336 spectatorEx = 0.0;
337 spectatorM = 0.0;
338 spectatorT = 0.0;
339 spectatorP1 = 0.0;
340 spectatorP2 = 0.0;
341 spectatorP3 = 0.0;
342 massini = 0;
343 mzini = 0;
344 exini = 0;
345 pcorem = 0;
346 mcorem = 0;
347 pxrem = 0;
348 pyrem = 0;
349 pzrem = 0;
350 erecrem = 0;
351 mulncasc = 0;
352 mulnevap = 0;
353 mulntot = 0;
354 bimpact = 0.0;
355 jremn = 0;
356 kfis = 0;
357 estfis = 0;
358 izfis = 0;
359 iafis = 0;
360 ntrack = 0;
361 needsFermiBreakup = false;
362 for(G4int i = 0; i < VARNTPSIZE; i++) {
363 itypcasc[i] = 0;
364 avv[i] = 0;
365 zvv[i] = 0;
366 svv[i] = 0;
367 enerj[i] = 0.0;
368 pxlab[i] = 0.0;
369 pylab[i] = 0.0;
370 pzlab[i] = 0.0;
371 full[i] = false;
372 }
373 }
#define VARNTPSIZE
int G4int
Definition: G4Types.hh:85
G4double spectatorM
G4double mcorem
G4double spectatorP3
G4double massini
G4double pzrem
G4double bimpact
G4double pylab[VARNTPSIZE]
G4double projEnergy
G4int svv[VARNTPSIZE]
G4double exini
G4double pzlab[VARNTPSIZE]
G4double mrem
G4double estfis
G4double erecrem
G4double mzini
G4int mulncasc
G4double pxrem
G4int projType
G4bool needsFermiBreakup
G4double pyrem
G4int mulnevap
G4int itypcasc[VARNTPSIZE]
G4double exsp
G4double spectatorP1
G4double spectatorP2
G4int spectatorZ
G4double spectatorEx
G4double masp
G4double mzsp
G4double spectatorT
G4int spectatorA
G4double pcorem
G4double pxlab[VARNTPSIZE]

References avv, bimpact, enerj, erecrem, estfis, exini, exsp, full, iafis, itypcasc, izfis, jremn, kfis, masp, massini, mcorem, mrem, mulncasc, mulnevap, mulntot, mzini, mzsp, needsFermiBreakup, ntrack, particleIndex, pcorem, projEnergy, projType, pxlab, pxrem, pylab, pyrem, pzlab, pzrem, spectatorA, spectatorEx, spectatorM, spectatorP1, spectatorP2, spectatorP3, spectatorT, spectatorZ, svv, targetA, targetZ, VARNTPSIZE, and zvv.

Referenced by G4Abla::DeexcitationAblaxx(), G4AblaInterface::DeExcite(), and G4VarNtp().

◆ dump()

void G4VarNtp::dump ( )
inline

Dump debugging output.

Definition at line 455 of file G4AblaDataDefs.hh.

455 {
456 G4int nProton = 0, nNeutron = 0;
457 G4int nPiPlus = 0, nPiZero = 0, nPiMinus = 0;
458 G4int nH2 = 0, nHe3 = 0, nAlpha = 0;
459 G4int nGamma=0;
460 G4int nFragments = 0;
461 G4int nParticles = 0;
462 for(G4int i = 0; i < ntrack; i++) {
463 nParticles++;
464 if(avv[i] == 1 && zvv[i] == 1) nProton++; // Count multiplicities
465 if(avv[i] == 1 && zvv[i] == 0) nNeutron++;
466 if(avv[i] == 0 && zvv[i] == 0) nGamma++;
467 if(avv[i] == -1 && zvv[i] == 1) nPiPlus++;
468 if(avv[i] == -1 && zvv[i] == 0) nPiZero++;
469 if(avv[i] == -1 && zvv[i] == -1) nPiMinus++;
470 if(avv[i] == 2 && zvv[i] == 1) nH2++;
471 if(avv[i] == 3 && zvv[i] == 2) nHe3++;
472 if(avv[i] == 4 && zvv[i] == 2) nAlpha++;
473 if( zvv[i] > 2) nFragments++;
474 }
475 }

References avv, ntrack, and zvv.

◆ getMass()

G4double G4VarNtp::getMass ( G4int  particle)
inline

Definition at line 438 of file G4AblaDataDefs.hh.

438 {
439 const G4double protonMass = 938.272;
440 const G4double neutronMass = 939.565;
441 const G4double pionMass = 139.57;
442
443 G4double mass = 0.0;
444 if(avv[particle] == 1 && zvv[particle] == 1) mass = protonMass;
445 if(avv[particle] == 1 && zvv[particle] == 0) mass = neutronMass;
446 if(avv[particle] == -1) mass = pionMass;
447 if(avv[particle] > 1)
448 mass = avv[particle] * protonMass + zvv[particle] * neutronMass;
449 return mass;
450 }
double G4double
Definition: G4Types.hh:83

References avv, G4INCL::ParticleTable::anonymous_namespace{G4INCLParticleTable.cc}::neutronMass, G4INCL::ParticleTable::anonymous_namespace{G4INCLParticleTable.cc}::protonMass, and zvv.

Referenced by getTotalEnergy().

◆ getMomentumSum()

G4double G4VarNtp::getMomentumSum ( )
inline

Definition at line 430 of file G4AblaDataDefs.hh.

430 {
431 G4double momentum = 0;
432 for(G4int i = 0; i < ntrack; i++) {
433 momentum += plab[i];
434 }
435 return momentum;
436 }

References ntrack, and plab.

◆ getTotalBaryonNumber()

G4int G4VarNtp::getTotalBaryonNumber ( )
inline

Baryon number conservation check.

Definition at line 397 of file G4AblaDataDefs.hh.

397 {
398 G4int baryonNumber = 0;
399 for(G4int i = 0; i < ntrack; i++) {
400 if(avv[i] > 0) {
401 baryonNumber += avv[i];
402 }
403 }
404 return baryonNumber;
405 }

References avv, and ntrack.

◆ getTotalEnergy()

G4double G4VarNtp::getTotalEnergy ( void  )
inline

Return total energy.

Definition at line 410 of file G4AblaDataDefs.hh.

410 {
411 G4double energy = 0.0;
412 for(G4int i = 0; i < ntrack; i++) {
413 energy += std::sqrt(std::pow(plab[i], 2) + std::pow(getMass(i), 2)); // E^2 = p^2 + m^2
414 }
415
416 return energy;
417 }
G4double getMass(G4int particle)
G4double energy(const ThreeVector &p, const G4double m)

References G4INCL::KinematicsUtils::energy(), getMass(), ntrack, and plab.

◆ getTotalThreeMomentum()

G4double G4VarNtp::getTotalThreeMomentum ( )
inline

Return total three momentum.

Definition at line 422 of file G4AblaDataDefs.hh.

422 {
423 G4double momentum = 0;
424 for(G4int i = 0; i < ntrack; i++) {
425 momentum += plab[i];
426 }
427 return momentum;
428 }

References ntrack, and plab.

Field Documentation

◆ avv

G4int G4VarNtp::avv[VARNTPSIZE]

◆ bimpact

G4double G4VarNtp::bimpact

Impact parameter.

Definition at line 577 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ enerj

G4double G4VarNtp::enerj[VARNTPSIZE]

Kinetic energy.

Definition at line 648 of file G4AblaDataDefs.hh.

Referenced by addParticle(), clear(), G4AblaInterface::DeExcite(), and G4Abla::FillData().

◆ erecrem

G4double G4VarNtp::erecrem

Definition at line 557 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ estfis

G4double G4VarNtp::estfis

Excit energy at fis.

Definition at line 592 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ exini

G4double G4VarNtp::exini

Excitation energy.

Definition at line 555 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ exsp

G4double G4VarNtp::exsp

Definition at line 500 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ full

G4bool G4VarNtp::full[VARNTPSIZE]

The state of the index: true = reserved false = free

Definition at line 614 of file G4AblaDataDefs.hh.

Referenced by addParticle(), and clear().

◆ iafis

G4int G4VarNtp::iafis

A of fiss nucleus.

Definition at line 602 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ itypcasc

G4int G4VarNtp::itypcasc[VARNTPSIZE]

emitted in cascade (0) or evaporation (1).

Definition at line 627 of file G4AblaDataDefs.hh.

Referenced by clear(), and G4Abla::FillData().

◆ izfis

G4int G4VarNtp::izfis

Z of fiss nucleus.

Definition at line 597 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ jremn

G4int G4VarNtp::jremn

Remnant Intrinsic Spin.

Definition at line 582 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ kfis

G4int G4VarNtp::kfis

Fission 1/0=Y/N.

Definition at line 587 of file G4AblaDataDefs.hh.

Referenced by clear(), G4Abla::DeexcitationAblaxx(), and G4Abla::fission().

◆ masp

G4double G4VarNtp::masp

Projectile spectator A, Z, Eex;

Definition at line 500 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ massini

G4double G4VarNtp::massini

A of the remnant.

Definition at line 545 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mcorem

G4double G4VarNtp::mcorem

Definition at line 557 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mrem

G4double G4VarNtp::mrem

Definition at line 500 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mulncasc

G4int G4VarNtp::mulncasc

Cascade n multip.

Definition at line 562 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mulnevap

G4int G4VarNtp::mulnevap

Evaporation n multip.

Definition at line 567 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mulntot

G4int G4VarNtp::mulntot

Total n multip.

Definition at line 572 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mzini

G4double G4VarNtp::mzini

Z of the remnant.

Definition at line 550 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mzsp

G4double G4VarNtp::mzsp

Definition at line 500 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ needsFermiBreakup

G4bool G4VarNtp::needsFermiBreakup

Does this nucleus require Fermi break-up treatment? Only applicable when used together with Geant4. true = do fermi break-up (and skip ABLA part) false = use ABLA

Definition at line 622 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ ntrack

G4int G4VarNtp::ntrack

◆ particleIndex

G4int G4VarNtp::particleIndex
private

Definition at line 669 of file G4AblaDataDefs.hh.

Referenced by addParticle(), and clear().

◆ pcorem

G4double G4VarNtp::pcorem

Definition at line 557 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ philab

G4double G4VarNtp::philab[VARNTPSIZE]

Phi angle.

Definition at line 666 of file G4AblaDataDefs.hh.

Referenced by addParticle().

◆ plab

G4double G4VarNtp::plab[VARNTPSIZE]

Momentum.

Definition at line 653 of file G4AblaDataDefs.hh.

Referenced by addParticle(), getMomentumSum(), getTotalEnergy(), and getTotalThreeMomentum().

◆ projEnergy

G4double G4VarNtp::projEnergy

Projectile energy.

Definition at line 485 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ projType

G4int G4VarNtp::projType

Projectile type.

Definition at line 480 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ pxlab

G4double G4VarNtp::pxlab[VARNTPSIZE]

Definition at line 654 of file G4AblaDataDefs.hh.

Referenced by clear(), G4AblaInterface::DeExcite(), and G4Abla::FillData().

◆ pxrem

G4double G4VarNtp::pxrem

Definition at line 557 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ pylab

G4double G4VarNtp::pylab[VARNTPSIZE]

Definition at line 655 of file G4AblaDataDefs.hh.

Referenced by clear(), G4AblaInterface::DeExcite(), and G4Abla::FillData().

◆ pyrem

G4double G4VarNtp::pyrem

Definition at line 557 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ pzlab

G4double G4VarNtp::pzlab[VARNTPSIZE]

Definition at line 656 of file G4AblaDataDefs.hh.

Referenced by clear(), G4AblaInterface::DeExcite(), and G4Abla::FillData().

◆ pzrem

G4double G4VarNtp::pzrem

Definition at line 557 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorA

G4int G4VarNtp::spectatorA

Spectator nucleus mass number for light ion projectile support.

Definition at line 505 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorEx

G4double G4VarNtp::spectatorEx

Spectator nucleus excitation energy for light ion projectile support.

Definition at line 515 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorM

G4double G4VarNtp::spectatorM

Spectator nucleus mass.

Definition at line 520 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorP1

G4double G4VarNtp::spectatorP1

Spectator nucleus momentum x-component.

Definition at line 530 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorP2

G4double G4VarNtp::spectatorP2

Spectator nucleus momentum y-component.

Definition at line 535 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorP3

G4double G4VarNtp::spectatorP3

Spectator nucleus momentum z-component.

Definition at line 540 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorT

G4double G4VarNtp::spectatorT

Spectator nucleus kinetic energy.

Definition at line 525 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorZ

G4int G4VarNtp::spectatorZ

Spectator nucleus charge number for light ion projectile support.

Definition at line 510 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ svv

G4int G4VarNtp::svv[VARNTPSIZE]

S (-1 for lambda_0).

Definition at line 643 of file G4AblaDataDefs.hh.

Referenced by clear(), G4AblaInterface::DeExcite(), and G4Abla::FillData().

◆ targetA

G4int G4VarNtp::targetA

Target mass number.

Definition at line 490 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ targetZ

G4int G4VarNtp::targetZ

Target charge number.

Definition at line 495 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ tetlab

G4double G4VarNtp::tetlab[VARNTPSIZE]

Theta angle.

Definition at line 661 of file G4AblaDataDefs.hh.

Referenced by addParticle().

◆ zvv

G4int G4VarNtp::zvv[VARNTPSIZE]

The documentation for this class was generated from the following file: