Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4VarNtp Class Reference

#include <G4AblaDataDefs.hh>

Public Member Functions

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

Public Attributes

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

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 };

◆ ~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;
385 plab[particleIndex] = P;
386 tetlab[particleIndex] = theta;
387 philab[particleIndex] = phi;
388 full[particleIndex] = true;
389 ntrack = particleIndex + 1;
390 particleIndex++;
391 }
392 }
const G4double A[17]
G4bool full[VARNTPSIZE]
G4double enerj[VARNTPSIZE]
G4int avv[VARNTPSIZE]
G4double plab[VARNTPSIZE]
G4double tetlab[VARNTPSIZE]
G4double philab[VARNTPSIZE]
G4int zvv[VARNTPSIZE]

◆ 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
G4double pxrem
G4bool needsFermiBreakup
G4double pyrem
G4int itypcasc[VARNTPSIZE]
G4double exsp
G4double spectatorP1
G4double spectatorP2
G4double spectatorEx
G4double masp
G4double mzsp
G4double spectatorT
G4double pcorem
G4double pxlab[VARNTPSIZE]

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

◆ dump()

void G4VarNtp::dump ( )
inline

Dump debugging output.

Definition at line 455 of file G4AblaDataDefs.hh.

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

◆ 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

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 }

◆ 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 }

◆ getTotalEnergy()

G4double G4VarNtp::getTotalEnergy ( )
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)

◆ 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 }

Member Data Documentation

◆ avv

G4int G4VarNtp::avv[VARNTPSIZE]

A (-1 for pions).

Definition at line 636 of file G4AblaDataDefs.hh.

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

◆ bimpact

G4double G4VarNtp::bimpact

Impact parameter.

Definition at line 580 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ enerj

G4double G4VarNtp::enerj[VARNTPSIZE]

Kinetic energy.

Definition at line 651 of file G4AblaDataDefs.hh.

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

◆ erecrem

G4double G4VarNtp::erecrem

Definition at line 560 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ estfis

G4double G4VarNtp::estfis

Excit energy at fis.

Definition at line 595 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ exini

G4double G4VarNtp::exini

Excitation energy.

Definition at line 558 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ exsp

G4double G4VarNtp::exsp

Definition at line 503 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ full

G4bool G4VarNtp::full[VARNTPSIZE]

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

Definition at line 617 of file G4AblaDataDefs.hh.

Referenced by addParticle(), and clear().

◆ iafis

G4int G4VarNtp::iafis

A of fiss nucleus.

Definition at line 605 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ itypcasc

G4int G4VarNtp::itypcasc[VARNTPSIZE]

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

Definition at line 630 of file G4AblaDataDefs.hh.

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

◆ izfis

G4int G4VarNtp::izfis

Z of fiss nucleus.

Definition at line 600 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ jremn

G4int G4VarNtp::jremn

Remnant Intrinsic Spin.

Definition at line 585 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ kfis

G4int G4VarNtp::kfis

Fission 1/0=Y/N.

Definition at line 590 of file G4AblaDataDefs.hh.

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

◆ masp

G4double G4VarNtp::masp

Projectile spectator A, Z, Eex;

Definition at line 503 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ massini

G4double G4VarNtp::massini

A of the remnant.

Definition at line 548 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mcorem

G4double G4VarNtp::mcorem

Definition at line 560 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mrem

G4double G4VarNtp::mrem

Definition at line 503 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mulncasc

G4int G4VarNtp::mulncasc

Cascade n multip.

Definition at line 565 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mulnevap

G4int G4VarNtp::mulnevap

Evaporation n multip.

Definition at line 570 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mulntot

G4int G4VarNtp::mulntot

Total n multip.

Definition at line 575 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mzini

G4double G4VarNtp::mzini

Z of the remnant.

Definition at line 553 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mzsp

G4double G4VarNtp::mzsp

Definition at line 503 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 625 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ ntrack

◆ pcorem

G4double G4VarNtp::pcorem

Definition at line 560 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ philab

G4double G4VarNtp::philab[VARNTPSIZE]

Phi angle.

Definition at line 669 of file G4AblaDataDefs.hh.

Referenced by addParticle().

◆ plab

G4double G4VarNtp::plab[VARNTPSIZE]

Momentum.

Definition at line 656 of file G4AblaDataDefs.hh.

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

◆ projEnergy

G4double G4VarNtp::projEnergy

Projectile energy.

Definition at line 488 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ projType

G4int G4VarNtp::projType

Projectile type.

Definition at line 483 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ pxlab

G4double G4VarNtp::pxlab[VARNTPSIZE]

Definition at line 657 of file G4AblaDataDefs.hh.

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

◆ pxrem

G4double G4VarNtp::pxrem

Definition at line 560 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ pylab

G4double G4VarNtp::pylab[VARNTPSIZE]

Definition at line 658 of file G4AblaDataDefs.hh.

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

◆ pyrem

G4double G4VarNtp::pyrem

Definition at line 560 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ pzlab

G4double G4VarNtp::pzlab[VARNTPSIZE]

Definition at line 659 of file G4AblaDataDefs.hh.

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

◆ pzrem

G4double G4VarNtp::pzrem

Definition at line 560 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorA

G4int G4VarNtp::spectatorA

Spectator nucleus mass number for light ion projectile support.

Definition at line 508 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorEx

G4double G4VarNtp::spectatorEx

Spectator nucleus excitation energy for light ion projectile support.

Definition at line 518 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorM

G4double G4VarNtp::spectatorM

Spectator nucleus mass.

Definition at line 523 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorP1

G4double G4VarNtp::spectatorP1

Spectator nucleus momentum x-component.

Definition at line 533 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorP2

G4double G4VarNtp::spectatorP2

Spectator nucleus momentum y-component.

Definition at line 538 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorP3

G4double G4VarNtp::spectatorP3

Spectator nucleus momentum z-component.

Definition at line 543 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorT

G4double G4VarNtp::spectatorT

Spectator nucleus kinetic energy.

Definition at line 528 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorZ

G4int G4VarNtp::spectatorZ

Spectator nucleus charge number for light ion projectile support.

Definition at line 513 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ svv

G4int G4VarNtp::svv[VARNTPSIZE]

S (-1 for lambda_0).

Definition at line 646 of file G4AblaDataDefs.hh.

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

◆ targetA

G4int G4VarNtp::targetA

Target mass number.

Definition at line 493 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ targetZ

G4int G4VarNtp::targetZ

Target charge number.

Definition at line 498 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ tetlab

G4double G4VarNtp::tetlab[VARNTPSIZE]

Theta angle.

Definition at line 664 of file G4AblaDataDefs.hh.

Referenced by addParticle().

◆ zvv

G4int G4VarNtp::zvv[VARNTPSIZE]

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