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

#include <G4XDeltaDeltastarTable.hh>

Public Member Functions

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

Detailed Description

Definition at line 42 of file G4XDeltaDeltastarTable.hh.

Constructor & Destructor Documentation

G4XDeltaDeltastarTable::G4XDeltaDeltastarTable ( )

Definition at line 249 of file G4XDeltaDeltastarTable.cc.

250 {
251  xMap["delta(1600)-"] = (G4double*) sigmaDD1600;
252  xMap["delta(1600)0"] = (G4double*) sigmaDD1600;
253  xMap["delta(1600)+"] = (G4double*) sigmaDD1600;
254  xMap["delta(1600)++"] = (G4double*) sigmaDD1600;
255 
256  xMap["delta(1620)-"] = (G4double*) sigmaDD1620;
257  xMap["delta(1620)0"] = (G4double*) sigmaDD1620;
258  xMap["delta(1620)+"] = (G4double*) sigmaDD1620;
259  xMap["delta(1620)++"] = (G4double*) sigmaDD1620;
260 
261  xMap["delta(1700)-"] = (G4double*) sigmaDD1700;
262  xMap["delta(1700)0"] = (G4double*) sigmaDD1700;
263  xMap["delta(1700)+"] = (G4double*) sigmaDD1700;
264  xMap["delta(1700)++"] = (G4double*) sigmaDD1700;
265 
266  xMap["delta(1900)-"] = (G4double*) sigmaDD1900;
267  xMap["delta(1900)0"] = (G4double*) sigmaDD1900;
268  xMap["delta(1900)+"] = (G4double*) sigmaDD1900;
269  xMap["delta(1900)++"] = (G4double*) sigmaDD1900;
270 
271  xMap["delta(1905)-"] = (G4double*) sigmaDD1905;
272  xMap["delta(1905)0"] = (G4double*) sigmaDD1905;
273  xMap["delta(1905)+"] = (G4double*) sigmaDD1905;
274  xMap["delta(1905)++"] = (G4double*) sigmaDD1905;
275 
276  xMap["delta(1910)-"] = (G4double*) sigmaDD1910;
277  xMap["delta(1910)0"] = (G4double*) sigmaDD1910;
278  xMap["delta(1910)+"] = (G4double*) sigmaDD1910;
279  xMap["delta(1910)++"] = (G4double*) sigmaDD1910;
280 
281  xMap["delta(1920)-"] = (G4double*) sigmaDD1920;
282  xMap["delta(1920)0"] = (G4double*) sigmaDD1920;
283  xMap["delta(1920)+"] = (G4double*) sigmaDD1920;
284  xMap["delta(1920)++"] = (G4double*) sigmaDD1920;
285 
286  xMap["delta(1930)-"] = (G4double*) sigmaDD1930;
287  xMap["delta(1930)0"] = (G4double*) sigmaDD1930;
288  xMap["delta(1930)+"] = (G4double*) sigmaDD1930;
289  xMap["delta(1930)++"] = (G4double*) sigmaDD1930;
290 
291  xMap["delta(1950)-"] = (G4double*) sigmaDD1950;
292  xMap["delta(1950)0"] = (G4double*) sigmaDD1950;
293  xMap["delta(1950)+"] = (G4double*) sigmaDD1950;
294  xMap["delta(1950)++"] = (G4double*) sigmaDD1950;
295 }
double G4double
Definition: G4Types.hh:76
G4XDeltaDeltastarTable::~G4XDeltaDeltastarTable ( )
virtual

Definition at line 298 of file G4XDeltaDeltastarTable.cc.

299 { }

Member Function Documentation

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

Definition at line 302 of file G4XDeltaDeltastarTable.cc.

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

Referenced by G4DeltaDeltastarBuilder::CrossSectionTable().

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

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