G4NeutronHPData Class Reference

#include <G4NeutronHPData.hh>


Public Member Functions

 G4NeutronHPData ()
 ~G4NeutronHPData ()
G4PhysicsVectorMakePhysicsVector (G4Element *thE, G4NeutronHPFissionData *theP)
G4PhysicsVectorMakePhysicsVector (G4Element *thE, G4NeutronHPCaptureData *theP)
G4PhysicsVectorMakePhysicsVector (G4Element *thE, G4NeutronHPElasticData *theP)
G4PhysicsVectorMakePhysicsVector (G4Element *thE, G4NeutronHPInelasticData *theP)
G4PhysicsVectorDoPhysicsVector (G4NeutronHPVector *theVector)

Static Public Member Functions

static G4NeutronHPDataInstance ()


Detailed Description

Definition at line 45 of file G4NeutronHPData.hh.


Constructor & Destructor Documentation

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   }


Member Function Documentation

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   }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:37 2013 for Geant4 by  doxygen 1.4.7