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

#include <G4XNDeltastarTable.hh>

Public Member Functions

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

Detailed Description

Definition at line 42 of file G4XNDeltastarTable.hh.

Constructor & Destructor Documentation

G4XNDeltastarTable::G4XNDeltastarTable ( )

Definition at line 258 of file G4XNDeltastarTable.cc.

259 {
260  xMap["delta(1600)-"] = (G4double*) sigmaND1600;
261  xMap["delta(1600)0"] = (G4double*) sigmaND1600;
262  xMap["delta(1600)+"] = (G4double*) sigmaND1600;
263  xMap["delta(1600)++"] = (G4double*) sigmaND1600;
264 
265  xMap["delta(1620)-"] = (G4double*) sigmaND1620;
266  xMap["delta(1620)0"] = (G4double*) sigmaND1620;
267  xMap["delta(1620)+"] = (G4double*) sigmaND1620;
268  xMap["delta(1620)++"] = (G4double*) sigmaND1620;
269 
270  xMap["delta(1700)-"] = (G4double*) sigmaND1700;
271  xMap["delta(1700)0"] = (G4double*) sigmaND1700;
272  xMap["delta(1700)+"] = (G4double*) sigmaND1700;
273  xMap["delta(1700)++"] = (G4double*) sigmaND1700;
274 
275  xMap["delta(1900)-"] = (G4double*) sigmaND1900;
276  xMap["delta(1900)0"] = (G4double*) sigmaND1900;
277  xMap["delta(1900)+"] = (G4double*) sigmaND1900;
278  xMap["delta(1900)++"] = (G4double*) sigmaND1900;
279 
280  xMap["delta(1905)-"] = (G4double*) sigmaND1905;
281  xMap["delta(1905)0"] = (G4double*) sigmaND1905;
282  xMap["delta(1905)+"] = (G4double*) sigmaND1905;
283  xMap["delta(1905)++"] = (G4double*) sigmaND1905;
284 
285  xMap["delta(1910)-"] = (G4double*) sigmaND1910;
286  xMap["delta(1910)0"] = (G4double*) sigmaND1910;
287  xMap["delta(1910)+"] = (G4double*) sigmaND1910;
288  xMap["delta(1910)++"] = (G4double*) sigmaND1910;
289 
290  xMap["delta(1920)-"] = (G4double*) sigmaND1920;
291  xMap["delta(1920)0"] = (G4double*) sigmaND1920;
292  xMap["delta(1920)+"] = (G4double*) sigmaND1920;
293  xMap["delta(1920)++"] = (G4double*) sigmaND1920;
294 
295  xMap["delta(1930)-"] = (G4double*) sigmaND1930;
296  xMap["delta(1930)0"] = (G4double*) sigmaND1930;
297  xMap["delta(1930)+"] = (G4double*) sigmaND1930;
298  xMap["delta(1930)++"] = (G4double*) sigmaND1930;
299 
300  xMap["delta(1950)-"] = (G4double*) sigmaND1950;
301  xMap["delta(1950)0"] = (G4double*) sigmaND1950;
302  xMap["delta(1950)+"] = (G4double*) sigmaND1950;
303  xMap["delta(1950)++"] = (G4double*) sigmaND1950;
304 }
double G4double
Definition: G4Types.hh:76
G4XNDeltastarTable::~G4XNDeltastarTable ( )
virtual

Definition at line 307 of file G4XNDeltastarTable.cc.

308 { }

Member Function Documentation

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

Definition at line 311 of file G4XNDeltastarTable.cc.

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

Referenced by G4NDeltastarBuilder::CrossSectionTable().

312 {
313  // NOTE: the returned pointer is owned by the client
314 
315  if (xMap.find(particleName) != xMap.end())
316  {
317  // Cross section table for the requested particle available in the Map
318  G4PhysicsFreeVector* sigmaVector = new G4PhysicsFreeVector(sizeNDeltastar);
319  std::map <G4String, G4double*, std::less<G4String> >::const_iterator iter;
320  G4double* sigmaPointer = 0;
321  for (iter = xMap.begin(); iter != xMap.end(); ++iter)
322  {
323  G4String str = (*iter).first;
324  if (str == particleName)
325  {
326  sigmaPointer = (*iter).second;
327  }
328  }
329 
330  G4int i;
331  for (i=0; i<sizeNDeltastar; i++)
332  {
333  G4double value = *(sigmaPointer + i) * 0.5* millibarn;
334  G4double energy = energyTable[i] * GeV;
335  sigmaVector->PutValue(i,energy,value);
336  }
337  return sigmaVector;
338  }
339  else
340  // No cross section table for the requested particle is available in the Map
341  return 0;
342 }
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 G4XNDeltastarTable::operator!= ( const G4XNDeltastarTable right) const
G4bool G4XNDeltastarTable::operator== ( const G4XNDeltastarTable right) const

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