Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4XDeltaNstarTable Class Reference

#include <G4XDeltaNstarTable.hh>

Public Member Functions

 G4XDeltaNstarTable ()
 
virtual ~G4XDeltaNstarTable ()
 
virtual const G4PhysicsVectorCrossSectionTable (const G4String &particleName) const
 
G4bool operator== (const G4XDeltaNstarTable &right) const
 
G4bool operator!= (const G4XDeltaNstarTable &right) const
 

Detailed Description

Definition at line 36 of file G4XDeltaNstarTable.hh.

Constructor & Destructor Documentation

G4XDeltaNstarTable::G4XDeltaNstarTable ( )

Definition at line 376 of file G4XDeltaNstarTable.cc.

377 {
378  xMap["N(1440)0"] = (G4double*) sigmaDN1440;
379  xMap["N(1440)+"] = (G4double*) sigmaDN1440;
380 
381  xMap["N(1520)0"] = (G4double*) sigmaDN1520;
382  xMap["N(1520)+"] = (G4double*) sigmaDN1520;
383 
384  xMap["N(1535)0"] = (G4double*) sigmaDN1535;
385  xMap["N(1535)+"] = (G4double*) sigmaDN1535;
386 
387  xMap["N(1650)0"] = (G4double*) sigmaDN1650;
388  xMap["N(1650)+"] = (G4double*) sigmaDN1650;
389 
390  xMap["N(1675)0"] = (G4double*) sigmaDN1675;
391  xMap["N(1675)+"] = (G4double*) sigmaDN1675;
392 
393  xMap["N(1680)0"] = (G4double*) sigmaDN1680;
394  xMap["N(1680)+"] = (G4double*) sigmaDN1680;
395 
396  xMap["N(1700)0"] = (G4double*) sigmaDN1700;
397  xMap["N(1700)+"] = (G4double*) sigmaDN1700;
398 
399  xMap["N(1710)0"] = (G4double*) sigmaDN1710;
400  xMap["N(1710)+"] = (G4double*) sigmaDN1710;
401 
402  xMap["N(1720)0"] = (G4double*) sigmaDN1720;
403  xMap["N(1720)+"] = (G4double*) sigmaDN1720;
404 
405  xMap["N(1900)0"] = (G4double*) sigmaDN1900;
406  xMap["N(1900)+"] = (G4double*) sigmaDN1900;
407 
408  xMap["N(1990)0"] = (G4double*) sigmaDN1990;
409  xMap["N(1990)+"] = (G4double*) sigmaDN1990;
410 
411  xMap["N(2090)0"] = (G4double*) sigmaDN2090;
412  xMap["N(2090)+"] = (G4double*) sigmaDN2090;
413 
414  xMap["N(2190)0"] = (G4double*) sigmaDN2190;
415  xMap["N(2190)+"] = (G4double*) sigmaDN2190;
416 
417  xMap["N(2220)0"] = (G4double*) sigmaDN2220;
418  xMap["N(2220)+"] = (G4double*) sigmaDN2220;
419 
420  xMap["N(2250)0"] = (G4double*) sigmaDN2250;
421  xMap["N(2250)+"] = (G4double*) sigmaDN2250;
422 }
double G4double
Definition: G4Types.hh:76
G4XDeltaNstarTable::~G4XDeltaNstarTable ( )
virtual

Definition at line 425 of file G4XDeltaNstarTable.cc.

426 { }

Member Function Documentation

const G4PhysicsVector * G4XDeltaNstarTable::CrossSectionTable ( const G4String particleName) const
virtual

Definition at line 429 of file G4XDeltaNstarTable.cc.

References energy(), G4String::first(), python.hepunit::GeV, python.hepunit::millibarn, and G4PhysicsFreeVector::PutValue().

Referenced by G4DeltaNstarBuilder::CrossSectionTable().

430 {
431  // NOTE: the returned pointer is owned by the client
432 
433  if (xMap.find(particleName) != xMap.end())
434  {
435  // Cross section table for the requested particle available in the Map
436  G4PhysicsFreeVector* sigmaVector = new G4PhysicsFreeVector(sizeDeltaNstar);
437  std::map <G4String, G4double*, std::less<G4String> >::const_iterator iter;
438  G4double* sigmaPointer = 0;
439  for (iter = xMap.begin(); iter != xMap.end(); ++iter)
440  {
441  G4String str = (*iter).first;
442  if (str == particleName)
443  {
444  sigmaPointer = (*iter).second;
445  }
446  }
447 
448  G4int i;
449  for (i=0; i<sizeDeltaNstar; i++)
450  {
451  G4double value = *(sigmaPointer + i) * 0.5* millibarn;
452  G4double energy = energyTable[i] * GeV;
453  sigmaVector->PutValue(i,energy,value);
454  }
455  return sigmaVector;
456  }
457  else
458  // No cross section table for the requested particle is available in the Map
459  return 0;
460 }
void PutValue(size_t binNumber, G4double binValue, G4double dataValue)
G4int first(char) const
int G4int
Definition: G4Types.hh:78
int millibarn
Definition: hepunit.py:40
double precision function energy(A, Z)
Definition: dpm25nuc6.f:4106
const XML_Char int const XML_Char * value
double G4double
Definition: G4Types.hh:76
G4bool G4XDeltaNstarTable::operator!= ( const G4XDeltaNstarTable right) const
G4bool G4XDeltaNstarTable::operator== ( const G4XDeltaNstarTable right) const

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