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.

00259 {
00260   xMap["delta(1600)-"] = (G4double*) sigmaND1600;
00261   xMap["delta(1600)0"] = (G4double*) sigmaND1600;
00262   xMap["delta(1600)+"] = (G4double*) sigmaND1600;
00263   xMap["delta(1600)++"] = (G4double*) sigmaND1600;
00264 
00265   xMap["delta(1620)-"] = (G4double*) sigmaND1620;
00266   xMap["delta(1620)0"] = (G4double*) sigmaND1620;
00267   xMap["delta(1620)+"] = (G4double*) sigmaND1620;
00268   xMap["delta(1620)++"] = (G4double*) sigmaND1620;
00269 
00270   xMap["delta(1700)-"] = (G4double*) sigmaND1700;
00271   xMap["delta(1700)0"] = (G4double*) sigmaND1700;
00272   xMap["delta(1700)+"] = (G4double*) sigmaND1700;
00273   xMap["delta(1700)++"] = (G4double*) sigmaND1700;
00274 
00275   xMap["delta(1900)-"] = (G4double*) sigmaND1900;
00276   xMap["delta(1900)0"] = (G4double*) sigmaND1900;
00277   xMap["delta(1900)+"] = (G4double*) sigmaND1900;
00278   xMap["delta(1900)++"] = (G4double*) sigmaND1900;
00279 
00280   xMap["delta(1905)-"] = (G4double*) sigmaND1905;
00281   xMap["delta(1905)0"] = (G4double*) sigmaND1905;
00282   xMap["delta(1905)+"] = (G4double*) sigmaND1905;
00283   xMap["delta(1905)++"] = (G4double*) sigmaND1905;
00284 
00285   xMap["delta(1910)-"] = (G4double*) sigmaND1910;
00286   xMap["delta(1910)0"] = (G4double*) sigmaND1910;
00287   xMap["delta(1910)+"] = (G4double*) sigmaND1910;
00288   xMap["delta(1910)++"] = (G4double*) sigmaND1910;
00289 
00290   xMap["delta(1920)-"] = (G4double*) sigmaND1920;
00291   xMap["delta(1920)0"] = (G4double*) sigmaND1920;
00292   xMap["delta(1920)+"] = (G4double*) sigmaND1920;
00293   xMap["delta(1920)++"] = (G4double*) sigmaND1920;
00294 
00295   xMap["delta(1930)-"] = (G4double*) sigmaND1930;
00296   xMap["delta(1930)0"] = (G4double*) sigmaND1930;
00297   xMap["delta(1930)+"] = (G4double*) sigmaND1930;
00298   xMap["delta(1930)++"] = (G4double*) sigmaND1930;
00299 
00300   xMap["delta(1950)-"] = (G4double*) sigmaND1950;
00301   xMap["delta(1950)0"] = (G4double*) sigmaND1950;
00302   xMap["delta(1950)+"] = (G4double*) sigmaND1950;
00303   xMap["delta(1950)++"] = (G4double*) sigmaND1950;
00304 }

G4XNDeltastarTable::~G4XNDeltastarTable (  )  [virtual]

Definition at line 307 of file G4XNDeltastarTable.cc.

00308 { }


Member Function Documentation

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

Definition at line 311 of file G4XNDeltastarTable.cc.

Referenced by G4NDeltastarBuilder::CrossSectionTable().

00312 {
00313   // NOTE: the returned pointer is owned by the client
00314 
00315   if (xMap.find(particleName) != xMap.end())
00316     {
00317       // Cross section table for the requested particle available in the Map
00318       G4PhysicsFreeVector* sigmaVector = new G4PhysicsFreeVector(sizeNDeltastar);
00319       std::map <G4String, G4double*, std::less<G4String> >::const_iterator iter;
00320       G4double* sigmaPointer = 0;
00321       for (iter = xMap.begin(); iter != xMap.end(); ++iter)
00322         {
00323           G4String str = (*iter).first;
00324           if (str == particleName)
00325             {
00326               sigmaPointer = (*iter).second; 
00327             }
00328         }
00329 
00330       G4int i;
00331       for (i=0; i<sizeNDeltastar; i++)
00332         {
00333           G4double value = *(sigmaPointer + i) * 0.5* millibarn;
00334           G4double energy = energyTable[i] * GeV;
00335           sigmaVector->PutValue(i,energy,value);
00336         }           
00337       return sigmaVector;
00338     }
00339   else
00340     // No cross section table for the requested particle is available in the Map
00341     return 0;
00342 } 

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:
Generated on Mon May 27 17:54:00 2013 for Geant4 by  doxygen 1.4.7