Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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]
 
G4double enerj [VARNTPSIZE]
 
G4double plab [VARNTPSIZE]
 
G4double tetlab [VARNTPSIZE]
 
G4double philab [VARNTPSIZE]
 

Detailed Description

Definition at line 280 of file G4AblaDataDefs.hh.

Constructor & Destructor Documentation

G4VarNtp::G4VarNtp ( )
inline

Definition at line 282 of file G4AblaDataDefs.hh.

282  {
283  clear();
284  };
void clear()

Here is the call graph for this function:

G4VarNtp::~G4VarNtp ( )
inline

Definition at line 286 of file G4AblaDataDefs.hh.

286 {};

Member Function Documentation

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

342  {
343  if(full[particleIndex]) {
344  // G4cout <<"A = " << Z << " Z = " << Z << G4endl;
345  } else {
346  avv[particleIndex] = (int) A;
347  zvv[particleIndex] = (int) Z;
348  enerj[particleIndex] = E;
349  plab[particleIndex] = P;
350  tetlab[particleIndex] = theta;
351  philab[particleIndex] = phi;
352  full[particleIndex] = true;
353  ntrack = particleIndex + 1;
354  particleIndex++;
355  }
356  }
G4double plab[VARNTPSIZE]
G4bool full[VARNTPSIZE]
G4int avv[VARNTPSIZE]
G4double enerj[VARNTPSIZE]
static double P[]
double A(double temperature)
typedef int(XMLCALL *XML_NotStandaloneHandler)(void *userData)
G4double tetlab[VARNTPSIZE]
G4double philab[VARNTPSIZE]
G4int zvv[VARNTPSIZE]

Here is the call graph for this function:

Here is the caller graph for this function:

void G4VarNtp::clear ( )
inline

Clear and initialize all variables and arrays.

Definition at line 291 of file G4AblaDataDefs.hh.

291  {
292  particleIndex = 0;
293  projType = 0;
294  projEnergy = 0.0;
295  targetA = 0;
296  targetZ = 0;
297  masp = 0.0; mzsp = 0.0; exsp = 0.0; mrem = 0.0;
298  // To be deleted?
299  spectatorA = 0;
300  spectatorZ = 0;
301  spectatorEx = 0.0;
302  spectatorM = 0.0;
303  spectatorT = 0.0;
304  spectatorP1 = 0.0;
305  spectatorP2 = 0.0;
306  spectatorP3 = 0.0;
307  massini = 0;
308  mzini = 0;
309  exini = 0;
310  pcorem = 0;
311  mcorem = 0;
312  pxrem = 0;
313  pyrem = 0;
314  pzrem = 0;
315  erecrem = 0;
316  mulncasc = 0;
317  mulnevap = 0;
318  mulntot = 0;
319  bimpact = 0.0;
320  jremn = 0;
321  kfis = 0;
322  estfis = 0;
323  izfis = 0;
324  iafis = 0;
325  ntrack = 0;
326  needsFermiBreakup = false;
327  for(G4int i = 0; i < VARNTPSIZE; i++) {
328  itypcasc[i] = 0;
329  avv[i] = 0;
330  zvv[i] = 0;
331  enerj[i] = 0.0;
332  plab[i] = 0.0;
333  tetlab[i] = 0.0;
334  philab[i] = 0.0;
335  full[i] = false;
336  }
337  }
G4double spectatorEx
G4int spectatorZ
G4int projType
G4double mzsp
G4double plab[VARNTPSIZE]
G4int spectatorA
G4double pcorem
G4bool full[VARNTPSIZE]
G4int avv[VARNTPSIZE]
G4double pxrem
int G4int
Definition: G4Types.hh:78
G4double enerj[VARNTPSIZE]
G4bool needsFermiBreakup
G4double erecrem
G4double spectatorP2
G4double mcorem
G4double spectatorT
G4double massini
G4double exsp
G4double tetlab[VARNTPSIZE]
G4int itypcasc[VARNTPSIZE]
G4double masp
G4double mrem
G4double spectatorP1
G4double mzini
G4double pzrem
G4int mulnevap
G4double philab[VARNTPSIZE]
G4int zvv[VARNTPSIZE]
G4double spectatorM
G4double bimpact
G4double spectatorP3
#define VARNTPSIZE
G4double estfis
G4int mulncasc
G4double projEnergy
G4double pyrem
G4double exini

Here is the caller graph for this function:

void G4VarNtp::dump ( )
inline

Dump debugging output.

Definition at line 419 of file G4AblaDataDefs.hh.

419  {
420  G4int nProton = 0, nNeutron = 0;
421  G4int nPiPlus = 0, nPiZero = 0, nPiMinus = 0;
422  G4int nH2 = 0, nHe3 = 0, nAlpha = 0;
423  G4int nFragments = 0;
424  G4int nParticles = 0;
425  for(G4int i = 0; i < ntrack; i++) {
426  nParticles++;
427  if(avv[i] == 1 && zvv[i] == 1) nProton++; // Count multiplicities
428  if(avv[i] == 1 && zvv[i] == 0) nNeutron++;
429  if(avv[i] == -1 && zvv[i] == 1) nPiPlus++;
430  if(avv[i] == -1 && zvv[i] == 0) nPiZero++;
431  if(avv[i] == -1 && zvv[i] == -1) nPiMinus++;
432  if(avv[i] == 2 && zvv[i] == 1) nH2++;
433  if(avv[i] == 3 && zvv[i] == 2) nHe3++;
434  if(avv[i] == 4 && zvv[i] == 2) nAlpha++;
435  if( zvv[i] > 2) nFragments++;
436  }
437  }
G4int avv[VARNTPSIZE]
int G4int
Definition: G4Types.hh:78
G4int zvv[VARNTPSIZE]

Here is the caller graph for this function:

G4double G4VarNtp::getMass ( G4int  particle)
inline

Definition at line 402 of file G4AblaDataDefs.hh.

402  {
403  const G4double protonMass = 938.272;
404  const G4double neutronMass = 939.565;
405  const G4double pionMass = 139.57;
406 
407  G4double mass = 0.0;
408  if(avv[particle] == 1 && zvv[particle] == 1) mass = protonMass;
409  if(avv[particle] == 1 && zvv[particle] == 0) mass = neutronMass;
410  if(avv[particle] == -1) mass = pionMass;
411  if(avv[particle] > 1)
412  mass = avv[particle] * protonMass + zvv[particle] * neutronMass;
413  return mass;
414  }
G4int avv[VARNTPSIZE]
G4int zvv[VARNTPSIZE]
double G4double
Definition: G4Types.hh:76

Here is the caller graph for this function:

G4double G4VarNtp::getMomentumSum ( )
inline

Definition at line 394 of file G4AblaDataDefs.hh.

394  {
395  G4double momentum = 0;
396  for(G4int i = 0; i < ntrack; i++) {
397  momentum += plab[i];
398  }
399  return momentum;
400  }
G4double plab[VARNTPSIZE]
int G4int
Definition: G4Types.hh:78
double G4double
Definition: G4Types.hh:76
G4int G4VarNtp::getTotalBaryonNumber ( )
inline

Baryon number conservation check.

Definition at line 361 of file G4AblaDataDefs.hh.

361  {
362  G4int baryonNumber = 0;
363  for(G4int i = 0; i < ntrack; i++) {
364  if(avv[i] > 0) {
365  baryonNumber += avv[i];
366  }
367  }
368  return baryonNumber;
369  }
G4int avv[VARNTPSIZE]
int G4int
Definition: G4Types.hh:78
G4double G4VarNtp::getTotalEnergy ( void  )
inline

Return total energy.

Definition at line 374 of file G4AblaDataDefs.hh.

374  {
375  G4double energy = 0.0;
376  for(G4int i = 0; i < ntrack; i++) {
377  energy += std::sqrt(std::pow(plab[i], 2) + std::pow(getMass(i), 2)); // E^2 = p^2 + m^2
378  }
379 
380  return energy;
381  }
G4double plab[VARNTPSIZE]
int G4int
Definition: G4Types.hh:78
G4double getMass(G4int particle)
G4double energy(const ThreeVector &p, const G4double m)
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

G4double G4VarNtp::getTotalThreeMomentum ( )
inline

Return total three momentum.

Definition at line 386 of file G4AblaDataDefs.hh.

386  {
387  G4double momentum = 0;
388  for(G4int i = 0; i < ntrack; i++) {
389  momentum += plab[i];
390  }
391  return momentum;
392  }
G4double plab[VARNTPSIZE]
int G4int
Definition: G4Types.hh:78
double G4double
Definition: G4Types.hh:76

Member Data Documentation

G4int G4VarNtp::avv[VARNTPSIZE]

A (-1 for pions).

Definition at line 595 of file G4AblaDataDefs.hh.

G4double G4VarNtp::bimpact

Impact parameter.

Definition at line 539 of file G4AblaDataDefs.hh.

G4double G4VarNtp::enerj[VARNTPSIZE]

Kinetic energy.

Definition at line 605 of file G4AblaDataDefs.hh.

G4double G4VarNtp::erecrem

Definition at line 519 of file G4AblaDataDefs.hh.

G4double G4VarNtp::estfis

Excit energy at fis.

Definition at line 554 of file G4AblaDataDefs.hh.

G4double G4VarNtp::exini

Excitation energy.

Definition at line 517 of file G4AblaDataDefs.hh.

G4double G4VarNtp::exsp

Definition at line 462 of file G4AblaDataDefs.hh.

G4bool G4VarNtp::full[VARNTPSIZE]

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

Definition at line 576 of file G4AblaDataDefs.hh.

G4int G4VarNtp::iafis

A of fiss nucleus.

Definition at line 564 of file G4AblaDataDefs.hh.

G4int G4VarNtp::itypcasc[VARNTPSIZE]

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

Definition at line 589 of file G4AblaDataDefs.hh.

G4int G4VarNtp::izfis

Z of fiss nucleus.

Definition at line 559 of file G4AblaDataDefs.hh.

G4int G4VarNtp::jremn

Remnant Intrinsic Spin.

Definition at line 544 of file G4AblaDataDefs.hh.

G4int G4VarNtp::kfis

Fission 1/0=Y/N.

Definition at line 549 of file G4AblaDataDefs.hh.

G4double G4VarNtp::masp

Projectile spectator A, Z, Eex;

Definition at line 462 of file G4AblaDataDefs.hh.

G4double G4VarNtp::massini

A of the remnant.

Definition at line 507 of file G4AblaDataDefs.hh.

G4double G4VarNtp::mcorem

Definition at line 519 of file G4AblaDataDefs.hh.

G4double G4VarNtp::mrem

Definition at line 462 of file G4AblaDataDefs.hh.

G4int G4VarNtp::mulncasc

Cascade n multip.

Definition at line 524 of file G4AblaDataDefs.hh.

G4int G4VarNtp::mulnevap

Evaporation n multip.

Definition at line 529 of file G4AblaDataDefs.hh.

G4int G4VarNtp::mulntot

Total n multip.

Definition at line 534 of file G4AblaDataDefs.hh.

G4double G4VarNtp::mzini

Z of the remnant.

Definition at line 512 of file G4AblaDataDefs.hh.

G4double G4VarNtp::mzsp

Definition at line 462 of file G4AblaDataDefs.hh.

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

G4int G4VarNtp::ntrack

Number of particles.

Definition at line 569 of file G4AblaDataDefs.hh.

G4double G4VarNtp::pcorem

Definition at line 519 of file G4AblaDataDefs.hh.

G4double G4VarNtp::philab[VARNTPSIZE]

Phi angle.

Definition at line 620 of file G4AblaDataDefs.hh.

G4double G4VarNtp::plab[VARNTPSIZE]

Momentum.

Definition at line 610 of file G4AblaDataDefs.hh.

G4double G4VarNtp::projEnergy

Projectile energy.

Definition at line 447 of file G4AblaDataDefs.hh.

G4int G4VarNtp::projType

Projectile type.

Definition at line 442 of file G4AblaDataDefs.hh.

G4double G4VarNtp::pxrem

Definition at line 519 of file G4AblaDataDefs.hh.

G4double G4VarNtp::pyrem

Definition at line 519 of file G4AblaDataDefs.hh.

G4double G4VarNtp::pzrem

Definition at line 519 of file G4AblaDataDefs.hh.

G4int G4VarNtp::spectatorA

Spectator nucleus mass number for light ion projectile support.

Definition at line 467 of file G4AblaDataDefs.hh.

G4double G4VarNtp::spectatorEx

Spectator nucleus excitation energy for light ion projectile support.

Definition at line 477 of file G4AblaDataDefs.hh.

G4double G4VarNtp::spectatorM

Spectator nucleus mass.

Definition at line 482 of file G4AblaDataDefs.hh.

G4double G4VarNtp::spectatorP1

Spectator nucleus momentum x-component.

Definition at line 492 of file G4AblaDataDefs.hh.

G4double G4VarNtp::spectatorP2

Spectator nucleus momentum y-component.

Definition at line 497 of file G4AblaDataDefs.hh.

G4double G4VarNtp::spectatorP3

Spectator nucleus momentum z-component.

Definition at line 502 of file G4AblaDataDefs.hh.

G4double G4VarNtp::spectatorT

Spectator nucleus kinetic energy.

Definition at line 487 of file G4AblaDataDefs.hh.

G4int G4VarNtp::spectatorZ

Spectator nucleus charge number for light ion projectile support.

Definition at line 472 of file G4AblaDataDefs.hh.

G4int G4VarNtp::targetA

Target mass number.

Definition at line 452 of file G4AblaDataDefs.hh.

G4int G4VarNtp::targetZ

Target charge number.

Definition at line 457 of file G4AblaDataDefs.hh.

G4double G4VarNtp::tetlab[VARNTPSIZE]

Theta angle.

Definition at line 615 of file G4AblaDataDefs.hh.

G4int G4VarNtp::zvv[VARNTPSIZE]

Z

Definition at line 600 of file G4AblaDataDefs.hh.


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