Geant4 10.7.0
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 313 of file G4AblaDataDefs.hh.

Constructor & Destructor Documentation

◆ G4VarNtp()

G4VarNtp::G4VarNtp ( )
inline

Definition at line 315 of file G4AblaDataDefs.hh.

315 {
316 clear();
317 };
void clear()

◆ ~G4VarNtp()

G4VarNtp::~G4VarNtp ( )
inline

Definition at line 319 of file G4AblaDataDefs.hh.

319{};

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 376 of file G4AblaDataDefs.hh.

376 {
377 if(full[particleIndex]) {
378 // G4cout <<"A = " << Z << " Z = " << Z << G4endl;
379 } else {
380 avv[particleIndex] = (int) A;
381 zvv[particleIndex] = (int) Z;
382 enerj[particleIndex] = E;
383 plab[particleIndex] = P;
384 tetlab[particleIndex] = theta;
385 philab[particleIndex] = phi;
386 full[particleIndex] = true;
387 ntrack = particleIndex + 1;
388 particleIndex++;
389 }
390 }
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 324 of file G4AblaDataDefs.hh.

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

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

◆ dump()

void G4VarNtp::dump ( )
inline

Dump debugging output.

Definition at line 453 of file G4AblaDataDefs.hh.

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

◆ getMass()

G4double G4VarNtp::getMass ( G4int  particle)
inline

Definition at line 436 of file G4AblaDataDefs.hh.

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

Referenced by getTotalEnergy().

◆ getMomentumSum()

G4double G4VarNtp::getMomentumSum ( )
inline

Definition at line 428 of file G4AblaDataDefs.hh.

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

◆ getTotalBaryonNumber()

G4int G4VarNtp::getTotalBaryonNumber ( )
inline

Baryon number conservation check.

Definition at line 395 of file G4AblaDataDefs.hh.

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

◆ getTotalEnergy()

G4double G4VarNtp::getTotalEnergy ( )
inline

Return total energy.

Definition at line 408 of file G4AblaDataDefs.hh.

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

◆ getTotalThreeMomentum()

G4double G4VarNtp::getTotalThreeMomentum ( )
inline

Return total three momentum.

Definition at line 420 of file G4AblaDataDefs.hh.

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

Member Data Documentation

◆ avv

G4int G4VarNtp::avv[VARNTPSIZE]

◆ bimpact

G4double G4VarNtp::bimpact

Impact parameter.

Definition at line 575 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ enerj

G4double G4VarNtp::enerj[VARNTPSIZE]

Kinetic energy.

Definition at line 646 of file G4AblaDataDefs.hh.

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

◆ erecrem

G4double G4VarNtp::erecrem

Definition at line 555 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ estfis

G4double G4VarNtp::estfis

Excit energy at fis.

Definition at line 590 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ exini

G4double G4VarNtp::exini

Excitation energy.

Definition at line 553 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ exsp

G4double G4VarNtp::exsp

Definition at line 498 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ full

G4bool G4VarNtp::full[VARNTPSIZE]

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

Definition at line 612 of file G4AblaDataDefs.hh.

Referenced by addParticle(), and clear().

◆ iafis

G4int G4VarNtp::iafis

A of fiss nucleus.

Definition at line 600 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ itypcasc

G4int G4VarNtp::itypcasc[VARNTPSIZE]

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

Definition at line 625 of file G4AblaDataDefs.hh.

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

◆ izfis

G4int G4VarNtp::izfis

Z of fiss nucleus.

Definition at line 595 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ jremn

G4int G4VarNtp::jremn

Remnant Intrinsic Spin.

Definition at line 580 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ kfis

G4int G4VarNtp::kfis

Fission 1/0=Y/N.

Definition at line 585 of file G4AblaDataDefs.hh.

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

◆ masp

G4double G4VarNtp::masp

Projectile spectator A, Z, Eex;

Definition at line 498 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ massini

G4double G4VarNtp::massini

A of the remnant.

Definition at line 543 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mcorem

G4double G4VarNtp::mcorem

Definition at line 555 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mrem

G4double G4VarNtp::mrem

Definition at line 498 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mulncasc

G4int G4VarNtp::mulncasc

Cascade n multip.

Definition at line 560 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mulnevap

G4int G4VarNtp::mulnevap

Evaporation n multip.

Definition at line 565 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mulntot

G4int G4VarNtp::mulntot

Total n multip.

Definition at line 570 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mzini

G4double G4VarNtp::mzini

Z of the remnant.

Definition at line 548 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ mzsp

G4double G4VarNtp::mzsp

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

Referenced by clear().

◆ ntrack

◆ pcorem

G4double G4VarNtp::pcorem

Definition at line 555 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ philab

G4double G4VarNtp::philab[VARNTPSIZE]

Phi angle.

Definition at line 664 of file G4AblaDataDefs.hh.

Referenced by addParticle().

◆ plab

G4double G4VarNtp::plab[VARNTPSIZE]

Momentum.

Definition at line 651 of file G4AblaDataDefs.hh.

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

◆ projEnergy

G4double G4VarNtp::projEnergy

Projectile energy.

Definition at line 483 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ projType

G4int G4VarNtp::projType

Projectile type.

Definition at line 478 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ pxlab

G4double G4VarNtp::pxlab[VARNTPSIZE]

Definition at line 652 of file G4AblaDataDefs.hh.

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

◆ pxrem

G4double G4VarNtp::pxrem

Definition at line 555 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ pylab

G4double G4VarNtp::pylab[VARNTPSIZE]

Definition at line 653 of file G4AblaDataDefs.hh.

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

◆ pyrem

G4double G4VarNtp::pyrem

Definition at line 555 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ pzlab

G4double G4VarNtp::pzlab[VARNTPSIZE]

Definition at line 654 of file G4AblaDataDefs.hh.

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

◆ pzrem

G4double G4VarNtp::pzrem

Definition at line 555 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorA

G4int G4VarNtp::spectatorA

Spectator nucleus mass number for light ion projectile support.

Definition at line 503 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorEx

G4double G4VarNtp::spectatorEx

Spectator nucleus excitation energy for light ion projectile support.

Definition at line 513 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorM

G4double G4VarNtp::spectatorM

Spectator nucleus mass.

Definition at line 518 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorP1

G4double G4VarNtp::spectatorP1

Spectator nucleus momentum x-component.

Definition at line 528 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorP2

G4double G4VarNtp::spectatorP2

Spectator nucleus momentum y-component.

Definition at line 533 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorP3

G4double G4VarNtp::spectatorP3

Spectator nucleus momentum z-component.

Definition at line 538 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorT

G4double G4VarNtp::spectatorT

Spectator nucleus kinetic energy.

Definition at line 523 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ spectatorZ

G4int G4VarNtp::spectatorZ

Spectator nucleus charge number for light ion projectile support.

Definition at line 508 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ svv

G4int G4VarNtp::svv[VARNTPSIZE]

S (-1 for lambda_0).

Definition at line 641 of file G4AblaDataDefs.hh.

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

◆ targetA

G4int G4VarNtp::targetA

Target mass number.

Definition at line 488 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ targetZ

G4int G4VarNtp::targetZ

Target charge number.

Definition at line 493 of file G4AblaDataDefs.hh.

Referenced by clear().

◆ tetlab

G4double G4VarNtp::tetlab[VARNTPSIZE]

Theta angle.

Definition at line 659 of file G4AblaDataDefs.hh.

Referenced by addParticle().

◆ zvv

G4int G4VarNtp::zvv[VARNTPSIZE]

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