#include <G4XNDeltastarTable.hh>
Public Member Functions | |
G4XNDeltastarTable () | |
virtual | ~G4XNDeltastarTable () |
virtual const G4PhysicsVector * | CrossSectionTable (const G4String &particleName) const |
G4bool | operator== (const G4XNDeltastarTable &right) const |
G4bool | operator!= (const G4XNDeltastarTable &right) const |
Definition at line 42 of file G4XNDeltastarTable.hh.
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] |
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 |