#include <G4NeutronHPData.hh>
Public Member Functions | |
G4NeutronHPData () | |
~G4NeutronHPData () | |
G4PhysicsVector * | MakePhysicsVector (G4Element *thE, G4NeutronHPFissionData *theP) |
G4PhysicsVector * | MakePhysicsVector (G4Element *thE, G4NeutronHPCaptureData *theP) |
G4PhysicsVector * | MakePhysicsVector (G4Element *thE, G4NeutronHPElasticData *theP) |
G4PhysicsVector * | MakePhysicsVector (G4Element *thE, G4NeutronHPInelasticData *theP) |
G4PhysicsVector * | DoPhysicsVector (G4NeutronHPVector *theVector) |
Static Public Member Functions | |
static G4NeutronHPData * | Instance () |
Definition at line 45 of file G4NeutronHPData.hh.
G4NeutronHPData::G4NeutronHPData | ( | ) |
Definition at line 33 of file G4NeutronHPData.cc.
References G4Element::GetElementTable(), and G4Element::GetNumberOfElements().
00034 { 00035 numEle = G4Element::GetNumberOfElements(); 00036 for ( G4int i = 0 ; i < numEle ; i++ ) theData.push_back ( new G4NeutronHPElementData ); 00037 // G4cout << "G4NeutronHPData::G4NeutronHPData(): numEle="<<numEle<<G4endl; 00038 for (G4int i=0; i<numEle; i++) 00039 { 00040 (*theData[i]).Init((*(G4Element::GetElementTable()))[i]); 00041 } 00042 }
G4NeutronHPData::~G4NeutronHPData | ( | ) |
Definition at line 44 of file G4NeutronHPData.cc.
00045 { 00046 for ( std::vector<G4NeutronHPElementData*>::iterator it = theData.begin() ; it != theData.end() ; it++ ) delete *it; 00047 theData.clear(); 00048 }
G4PhysicsVector * G4NeutronHPData::DoPhysicsVector | ( | G4NeutronHPVector * | theVector | ) |
Definition at line 56 of file G4NeutronHPData.cc.
References G4NeutronHPVector::GetVectorLength(), G4NeutronHPVector::GetX(), G4NeutronHPVector::GetY(), and G4LPhysicsFreeVector::PutValues().
Referenced by MakePhysicsVector().
00057 { 00058 // G4cout << "Entered G4NeutronHPData::DoPhysicsVector."<<G4endl; 00059 G4int len = theVector->GetVectorLength(); 00060 // G4cout <<"zahl der energie-punkte "<< len<<G4endl; 00061 if(len==0) return new G4LPhysicsFreeVector(0, 0, 0); 00062 G4double emin = theVector->GetX(0); 00063 G4double emax = theVector->GetX(len-1); 00064 // G4cout <<"zahl der energie-punkte "<< len<<" "<<emin<<" "<<emax<<G4endl; 00065 00066 // G4int dummy; G4cin >> dummy; 00067 G4LPhysicsFreeVector * theResult = new G4LPhysicsFreeVector(len, emin, emax); 00068 for (G4int i=0; i<len; i++) 00069 { 00070 theResult->PutValues(i, theVector->GetX(i), theVector->GetY(i)); 00071 } 00072 return theResult; 00073 }
G4NeutronHPData * G4NeutronHPData::Instance | ( | ) | [static] |
Definition at line 50 of file G4NeutronHPData.cc.
Referenced by G4NeutronHPCaptureData::BuildPhysicsTable().
00051 { 00052 static G4NeutronHPData theCrossSectionData; 00053 return &theCrossSectionData; 00054 }
G4PhysicsVector* G4NeutronHPData::MakePhysicsVector | ( | G4Element * | thE, | |
G4NeutronHPInelasticData * | theP | |||
) | [inline] |
Definition at line 68 of file G4NeutronHPData.hh.
References DoPhysicsVector(), GetData(), and G4Element::GetIndex().
00069 { 00070 // G4cout << "entered G4NeutronHPData::MakePhysicsVector!!!"<<G4endl; 00071 // G4cout << "thE->GetIndex()="<<thE->GetIndex()<<G4endl; 00072 if ( numEle <= (G4int)thE->GetIndex() ) addPhysicsVector(); 00073 return DoPhysicsVector((*theData[thE->GetIndex()]).GetData(theP)); 00074 }
G4PhysicsVector* G4NeutronHPData::MakePhysicsVector | ( | G4Element * | thE, | |
G4NeutronHPElasticData * | theP | |||
) | [inline] |
Definition at line 63 of file G4NeutronHPData.hh.
References DoPhysicsVector(), GetData(), and G4Element::GetIndex().
00064 { 00065 if ( numEle <= (G4int)thE->GetIndex() ) addPhysicsVector(); 00066 return DoPhysicsVector((*theData[thE->GetIndex()]).GetData(theP)); 00067 }
G4PhysicsVector* G4NeutronHPData::MakePhysicsVector | ( | G4Element * | thE, | |
G4NeutronHPCaptureData * | theP | |||
) | [inline] |
Definition at line 58 of file G4NeutronHPData.hh.
References DoPhysicsVector(), GetData(), and G4Element::GetIndex().
00059 { 00060 if ( numEle <= (G4int)thE->GetIndex() ) addPhysicsVector(); 00061 return DoPhysicsVector((*theData[thE->GetIndex()]).GetData(theP)); 00062 }
G4PhysicsVector* G4NeutronHPData::MakePhysicsVector | ( | G4Element * | thE, | |
G4NeutronHPFissionData * | theP | |||
) | [inline] |
Definition at line 53 of file G4NeutronHPData.hh.
References DoPhysicsVector(), GetData(), and G4Element::GetIndex().
Referenced by G4NeutronHPCaptureData::BuildPhysicsTable().
00054 { 00055 if ( numEle <= (G4int)thE->GetIndex() ) addPhysicsVector(); 00056 return DoPhysicsVector((*theData[thE->GetIndex()]).GetData(theP)); 00057 }