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

#include <G4NeutronHPCaptureFS.hh>

Inheritance diagram for G4NeutronHPCaptureFS:
G4NeutronHPFinalState

Public Member Functions

 G4NeutronHPCaptureFS ()
 
 ~G4NeutronHPCaptureFS ()
 
void Init (G4double A, G4double Z, G4int M, G4String &dirName, G4String &aFSType)
 
G4HadFinalStateApplyYourself (const G4HadProjectile &theTrack)
 
G4NeutronHPFinalStateNew ()
 
- Public Member Functions inherited from G4NeutronHPFinalState
 G4NeutronHPFinalState ()
 
virtual ~G4NeutronHPFinalState ()
 
void Init (G4double A, G4double Z, G4String &dirName, G4String &aFSType)
 
G4bool HasXsec ()
 
G4bool HasFSData ()
 
G4bool HasAnyData ()
 
virtual G4double GetXsec (G4double)
 
virtual G4NeutronHPVectorGetXsec ()
 
void SetA_Z (G4double anA, G4double aZ, G4int aM=0)
 
G4double GetZ ()
 
G4double GetN ()
 
G4int GetM ()
 

Additional Inherited Members

- Protected Member Functions inherited from G4NeutronHPFinalState
void SetAZMs (G4double anA, G4double aZ, G4int aM, G4NeutronHPDataUsed used)
 
void adjust_final_state (G4LorentzVector)
 
G4bool DoNotAdjustFinalState ()
 
- Protected Attributes inherited from G4NeutronHPFinalState
G4bool hasXsec
 
G4bool hasFSData
 
G4bool hasAnyData
 
G4NeutronHPNames theNames
 
G4HadFinalState theResult
 
G4double theBaseA
 
G4double theBaseZ
 
G4int theBaseM
 
G4int theNDLDataZ
 
G4int theNDLDataA
 
G4int theNDLDataM
 

Detailed Description

Definition at line 40 of file G4NeutronHPCaptureFS.hh.

Constructor & Destructor Documentation

G4NeutronHPCaptureFS::G4NeutronHPCaptureFS ( )
inline

Definition at line 44 of file G4NeutronHPCaptureFS.hh.

References G4NeutronHPFinalState::hasXsec.

Referenced by New().

45  {
46  hasXsec = false;
47  hasExactMF6 = false;
48  targetMass = 0;
49  }
G4NeutronHPCaptureFS::~G4NeutronHPCaptureFS ( )
inline

Definition at line 51 of file G4NeutronHPCaptureFS.hh.

52  {
53  }

Member Function Documentation

G4HadFinalState * G4NeutronHPCaptureFS::ApplyYourself ( const G4HadProjectile theTrack)
virtual

Reimplemented from G4NeutronHPFinalState.

Definition at line 48 of file G4NeutronHPCaptureFS.cc.

References G4HadFinalState::AddSecondary(), G4PhotonEvaporation::BreakItUp(), G4HadFinalState::Clear(), G4NeutronHPFinalState::DoNotAdjustFinalState(), CLHEP::HepLorentzVector::e(), python.hepunit::eV, G4UniformRand, G4Gamma::Gamma(), G4HadProjectile::Get4Momentum(), G4DynamicParticle::Get4Momentum(), G4Nucleus::GetBiasedThermalNucleus(), G4HadProjectile::GetDefinition(), G4DynamicParticle::GetDefinition(), G4IonTable::GetIon(), G4IonTable::GetIonMass(), G4IonTable::GetIonTable(), G4HadProjectile::GetKineticEnergy(), G4ReactionProduct::GetKineticEnergy(), G4HadProjectile::GetMaterial(), G4ReactionProduct::GetMomentum(), G4NucleiProperties::GetNuclearMass(), G4HadFinalState::GetNumberOfSecondaries(), G4HadSecondary::GetParticle(), G4ParticleDefinition::GetPDGMass(), G4NeutronHPPhotonDist::GetPhotons(), G4HadFinalState::GetSecondary(), G4Material::GetTemperature(), G4ReactionProduct::GetTotalEnergy(), G4NeutronHPFinalState::HasFSData(), G4ReactionProduct::Lorentz(), CLHEP::Hep3Vector::mag(), python.hepunit::MeV, G4Neutron::Neutron(), python.hepunit::pi, G4NeutronHPEnAngCorrelation::Sample(), G4ReactionProduct::SetDefinition(), G4DynamicParticle::SetDefinition(), G4PhotonEvaporation::SetICM(), G4ReactionProduct::SetKineticEnergy(), G4ReactionProduct::SetMomentum(), G4DynamicParticle::SetMomentum(), G4NeutronHPEnAngCorrelation::SetNeutron(), G4HadFinalState::SetStatusChange(), G4NeutronHPEnAngCorrelation::SetTarget(), sort(), stopAndKill, G4NeutronHPFinalState::theBaseA, G4NeutronHPFinalState::theBaseZ, G4NeutronHPFinalState::theResult, theTarget, TRUE, python.hepunit::twopi, CLHEP::Hep3Vector::unit(), and CLHEP::HepLorentzVector::vect().

49  {
50 
51  G4int i;
52  theResult.Clear();
53 // prepare neutron
54  G4double eKinetic = theTrack.GetKineticEnergy();
55  const G4HadProjectile *incidentParticle = &theTrack;
56  G4ReactionProduct theNeutron( const_cast<G4ParticleDefinition *>(incidentParticle->GetDefinition()) );
57  theNeutron.SetMomentum( incidentParticle->Get4Momentum().vect() );
58  theNeutron.SetKineticEnergy( eKinetic );
59 
60 // prepare target
62  G4Nucleus aNucleus;
63  G4double eps = 0.0001;
64  if(targetMass<500*MeV)
65  targetMass = ( G4NucleiProperties::GetNuclearMass( static_cast<G4int>(theBaseA+eps) , static_cast<G4int>(theBaseZ+eps) )) /
67  G4ThreeVector neutronVelocity = 1./G4Neutron::Neutron()->GetPDGMass()*theNeutron.GetMomentum();
68  G4double temperature = theTrack.GetMaterial()->GetTemperature();
69  theTarget = aNucleus.GetBiasedThermalNucleus(targetMass, neutronVelocity, temperature);
70 
71 // go to nucleus rest system
72  theNeutron.Lorentz(theNeutron, -1*theTarget);
73  eKinetic = theNeutron.GetKineticEnergy();
74 
75 // dice the photons
76 
77  G4ReactionProductVector * thePhotons = 0;
78  if ( HasFSData() && !getenv ( "G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION" ) )
79  {
80  //TK110430
81  if ( hasExactMF6 )
82  {
83  theMF6FinalState.SetTarget(theTarget);
84  theMF6FinalState.SetNeutron(theNeutron);
85  thePhotons = theMF6FinalState.Sample( eKinetic );
86  }
87  else
88  thePhotons = theFinalStatePhotons.GetPhotons(eKinetic);
89  }
90  else
91  {
92  G4ThreeVector aCMSMomentum = theNeutron.GetMomentum()+theTarget.GetMomentum();
93  G4LorentzVector p4(aCMSMomentum, theTarget.GetTotalEnergy() + theNeutron.GetTotalEnergy());
94  G4Fragment nucleus(static_cast<G4int>(theBaseA+1), static_cast<G4int>(theBaseZ) ,p4);
95  G4PhotonEvaporation photonEvaporation;
96  // T. K. add
97  photonEvaporation.SetICM( TRUE );
98  G4FragmentVector* products = photonEvaporation.BreakItUp(nucleus);
99  G4FragmentVector::iterator it;
100  thePhotons = new G4ReactionProductVector;
101  for(it=products->begin(); it!=products->end(); it++)
102  {
103  G4ReactionProduct * theOne = new G4ReactionProduct;
104  // T. K. add
105  if ( (*it)->GetParticleDefinition() != 0 )
106  theOne->SetDefinition( (*it)->GetParticleDefinition() );
107  else
108  theOne->SetDefinition( G4Gamma::Gamma() ); // this definiion will be over writen
109 
110  // T. K. comment out below line
111  //theOne->SetDefinition( G4Gamma::Gamma() );
112  G4IonTable* theTable = G4IonTable::GetIonTable();
113  //if( (*it)->GetMomentum().mag() > 10*MeV ) theOne->SetDefinition( theTable->FindIon(static_cast<G4int>(theBaseZ), static_cast<G4int>(theBaseA+1), 0, static_cast<G4int>(theBaseZ)) );
114  if( (*it)->GetMomentum().mag() > 10*MeV ) theOne->SetDefinition( theTable->GetIon(static_cast<G4int>(theBaseZ), static_cast<G4int>(theBaseA+1), 0 ) );
115 
116  //if ( (*i)->GetExcitationEnergy() > 0 )
117  if ( (*it)->GetExcitationEnergy() > 1.0e-2*eV )
118  {
119  G4double ex = (*it)->GetExcitationEnergy();
120  G4ReactionProduct* aPhoton = new G4ReactionProduct;
121  aPhoton->SetDefinition( G4Gamma::Gamma() );
122  aPhoton->SetMomentum( (*it)->GetMomentum().vect().unit() * ex );
123  //aPhoton->SetTotalEnergy( ex ); //will be calculated from momentum
124  thePhotons->push_back(aPhoton);
125  }
126 
127  theOne->SetMomentum( (*it)->GetMomentum().vect() * ( (*it)->GetMomentum().t() - (*it)->GetExcitationEnergy() ) / (*it)->GetMomentum().t() ) ;
128  //theOne->SetTotalEnergy( (*i)->GetMomentum().t() - (*i)->GetExcitationEnergy() ); //will be calculated from momentum
129  thePhotons->push_back(theOne);
130  delete *it;
131  }
132  delete products;
133  }
134 
135 // add them to the final state
136 
137  G4int nPhotons = 0;
138  if(thePhotons!=0) nPhotons=thePhotons->size();
139 
140 ///*
141  if ( DoNotAdjustFinalState() ) {
142 //Make at least one photon
143 //101203 TK
144  if ( nPhotons == 0 )
145  {
146  G4ReactionProduct * theOne = new G4ReactionProduct;
147  theOne->SetDefinition( G4Gamma::Gamma() );
148  G4double theta = pi*G4UniformRand();
149  G4double phi = twopi*G4UniformRand();
150  G4double sinth = std::sin(theta);
151  G4ThreeVector direction( sinth*std::cos(phi), sinth*std::sin(phi), std::cos(theta) );
152  theOne->SetMomentum( direction ) ;
153  thePhotons->push_back(theOne);
154  nPhotons++; // 0 -> 1
155  }
156 //One photon case: energy set to Q-value
157 //101203 TK
158  //if ( nPhotons == 1 )
159  if ( nPhotons == 1 && thePhotons->operator[](0)->GetDefinition()->GetBaryonNumber() == 0 )
160  {
161  G4ThreeVector direction = thePhotons->operator[](0)->GetMomentum().unit();
162 
163  //G4double Q = G4ParticleTable::GetParticleTable()->FindIon(static_cast<G4int>(theBaseZ), static_cast<G4int>(theBaseA), 0, static_cast<G4int>(theBaseZ))->GetPDGMass() + G4Neutron::Neutron()->GetPDGMass()
164  // - G4ParticleTable::GetParticleTable()->FindIon(static_cast<G4int>(theBaseZ), static_cast<G4int>(theBaseA+1), 0, static_cast<G4int>(theBaseZ))->GetPDGMass();
165  G4double Q = G4IonTable::GetIonTable()->GetIonMass(static_cast<G4int>(theBaseZ), static_cast<G4int>(theBaseA), 0) + G4Neutron::Neutron()->GetPDGMass()
166  - G4IonTable::GetIonTable()->GetIonMass(static_cast<G4int>(theBaseZ), static_cast<G4int>(theBaseA+1), 0);
167 
168  thePhotons->operator[](0)->SetMomentum( Q*direction );
169  }
170 //
171  }
172 
173  // back to lab system
174  for(i=0; i<nPhotons; i++)
175  {
176  thePhotons->operator[](i)->Lorentz(*(thePhotons->operator[](i)), theTarget);
177  }
178 
179  // Recoil, if only one gamma
180  //if (1==nPhotons)
181  if ( nPhotons == 1 && thePhotons->operator[](0)->GetDefinition()->GetBaryonNumber() == 0 )
182  {
183  G4DynamicParticle * theOne = new G4DynamicParticle;
184  //G4ParticleDefinition * aRecoil = G4ParticleTable::GetParticleTable()
185  // ->FindIon(static_cast<G4int>(theBaseZ), static_cast<G4int>(theBaseA+1), 0, static_cast<G4int>(theBaseZ));
187  ->GetIon(static_cast<G4int>(theBaseZ), static_cast<G4int>(theBaseA+1), 0);
188  theOne->SetDefinition(aRecoil);
189  // Now energy;
190  // Can be done slightly better @
191  G4ThreeVector aMomentum = theTrack.Get4Momentum().vect()
192  +theTarget.GetMomentum()
193  -thePhotons->operator[](0)->GetMomentum();
194 
195  G4ThreeVector theMomUnit = aMomentum.unit();
196  G4double aKinEnergy = theTrack.GetKineticEnergy()
197  +theTarget.GetKineticEnergy(); // gammas come from Q-value
198  G4double theResMass = aRecoil->GetPDGMass();
199  G4double theResE = aRecoil->GetPDGMass()+aKinEnergy;
200  G4double theAbsMom = std::sqrt(theResE*theResE - theResMass*theResMass);
201  G4ThreeVector theMomentum = theAbsMom*theMomUnit;
202  theOne->SetMomentum(theMomentum);
203  theResult.AddSecondary(theOne);
204  }
205 
206  // Now fill in the gammas.
207  for(i=0; i<nPhotons; i++)
208  {
209  // back to lab system
210  G4DynamicParticle * theOne = new G4DynamicParticle;
211  theOne->SetDefinition(thePhotons->operator[](i)->GetDefinition());
212  theOne->SetMomentum(thePhotons->operator[](i)->GetMomentum());
213  theResult.AddSecondary(theOne);
214  delete thePhotons->operator[](i);
215  }
216  delete thePhotons;
217 
218 //101203TK
219  G4bool residual = false;
220  //G4ParticleDefinition * aRecoil = G4ParticleTable::GetParticleTable()
221  // ->FindIon(static_cast<G4int>(theBaseZ), static_cast<G4int>(theBaseA+1), 0, static_cast<G4int>(theBaseZ));
223  ->GetIon(static_cast<G4int>(theBaseZ), static_cast<G4int>(theBaseA+1), 0);
224  for ( G4int j = 0 ; j != theResult.GetNumberOfSecondaries() ; j++ )
225  {
226  if ( theResult.GetSecondary(j)->GetParticle()->GetDefinition() == aRecoil ) residual = true;
227  }
228 
229  if ( residual == false )
230  {
231  //G4ParticleDefinition * aRecoil = G4ParticleTable::GetParticleTable()
232  // ->FindIon(static_cast<G4int>(theBaseZ), static_cast<G4int>(theBaseA+1), 0, static_cast<G4int>(theBaseZ));
233  G4int nNonZero = 0;
234  G4LorentzVector p_photons(0,0,0,0);
235  for ( G4int j = 0 ; j != theResult.GetNumberOfSecondaries() ; j++ )
236  {
237  p_photons += theResult.GetSecondary(j)->GetParticle()->Get4Momentum();
238  // To many 0 momentum photons -> Check PhotonDist
239  if ( theResult.GetSecondary(j)->GetParticle()->Get4Momentum().e() > 0 ) nNonZero++;
240  }
241 
242  // Can we include kinetic energy here?
243  G4double deltaE = ( theTrack.Get4Momentum().e() + theTarget.GetTotalEnergy() )
244  - ( p_photons.e() + aRecoil->GetPDGMass() );
245 
246 //Add photons
247  if ( nPhotons - nNonZero > 0 )
248  {
249  //G4cout << "TKDB G4NeutronHPCaptureFS::ApplyYourself we will create additional " << nPhotons - nNonZero << " photons" << G4endl;
250  std::vector<G4double> vRand;
251  vRand.push_back( 0.0 );
252  for ( G4int j = 0 ; j != nPhotons - nNonZero - 1 ; j++ )
253  {
254  vRand.push_back( G4UniformRand() );
255  }
256  vRand.push_back( 1.0 );
257  std::sort( vRand.begin(), vRand.end() );
258 
259  std::vector<G4double> vEPhoton;
260  for ( G4int j = 0 ; j < (G4int)vRand.size() - 1 ; j++ )
261  {
262  vEPhoton.push_back( deltaE * ( vRand[j+1] - vRand[j] ) );
263  }
264  std::sort( vEPhoton.begin(), vEPhoton.end() );
265 
266  for ( G4int j = 0 ; j < nPhotons - nNonZero - 1 ; j++ )
267  {
268  //Isotopic in LAB OK?
269  G4double theta = pi*G4UniformRand();
270  G4double phi = twopi*G4UniformRand();
271  G4double sinth = std::sin(theta);
272  G4double en = vEPhoton[j];
273  G4ThreeVector tempVector(en*sinth*std::cos(phi), en*sinth*std::sin(phi), en*std::cos(theta) );
274 
275  p_photons += G4LorentzVector ( tempVector, tempVector.mag() );
276  G4DynamicParticle * theOne = new G4DynamicParticle;
277  theOne->SetDefinition( G4Gamma::Gamma() );
278  theOne->SetMomentum( tempVector );
279  theResult.AddSecondary(theOne);
280  }
281 
282 // Add last photon
283  G4DynamicParticle * theOne = new G4DynamicParticle;
284  theOne->SetDefinition( G4Gamma::Gamma() );
285 // For better momentum conservation
286  G4ThreeVector lastPhoton = -p_photons.vect().unit()*vEPhoton.back();
287  p_photons += G4LorentzVector( lastPhoton , lastPhoton.mag() );
288  theOne->SetMomentum( lastPhoton );
289  theResult.AddSecondary(theOne);
290  }
291 
292 //Add residual
293  G4DynamicParticle * theOne = new G4DynamicParticle;
294  G4ThreeVector aMomentum = theTrack.Get4Momentum().vect() + theTarget.GetMomentum()
295  - p_photons.vect();
296  theOne->SetDefinition(aRecoil);
297  theOne->SetMomentum( aMomentum );
298  theResult.AddSecondary(theOne);
299 
300  }
301 //101203TK END
302 
303 // clean up the primary neutron
305  return &theResult;
306  }
G4ReactionProductVector * GetPhotons(G4double anEnergy)
void SetTarget(G4ReactionProduct &aTarget)
static G4double GetNuclearMass(const G4double A, const G4double Z)
void SetMomentum(const G4ThreeVector &momentum)
void Lorentz(const G4ReactionProduct &p1, const G4ReactionProduct &p2)
G4HadSecondary * GetSecondary(size_t i)
void SetMomentum(const G4double x, const G4double y, const G4double z)
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
Definition: G4IonTable.cc:449
G4ParticleDefinition * GetDefinition() const
subroutine sort(A, N)
Definition: dpm25nuc7.f:4670
int G4int
Definition: G4Types.hh:78
void SetStatusChange(G4HadFinalStateStatus aS)
std::vector< G4ReactionProduct * > G4ReactionProductVector
G4ReactionProduct GetBiasedThermalNucleus(G4double aMass, G4ThreeVector aVelocity, G4double temp=-1) const
Definition: G4Nucleus.cc:108
Hep3Vector vect() const
#define G4UniformRand()
Definition: Randomize.hh:87
const G4ParticleDefinition * GetDefinition() const
bool G4bool
Definition: G4Types.hh:79
G4double GetIonMass(G4int Z, G4int A, G4int L=0, G4int lvl=0) const
Definition: G4IonTable.cc:1232
void SetNeutron(G4ReactionProduct &aNeutron)
G4double GetKineticEnergy() const
G4ErrorTarget * theTarget
Definition: errprop.cc:59
std::vector< G4Fragment * > G4FragmentVector
Definition: G4Fragment.hh:65
#define TRUE
Definition: globals.hh:55
static G4Neutron * Neutron()
Definition: G4Neutron.cc:104
static G4Gamma * Gamma()
Definition: G4Gamma.cc:86
const G4LorentzVector & Get4Momentum() const
G4LorentzVector Get4Momentum() const
static G4IonTable * GetIonTable()
Definition: G4IonTable.hh:80
G4double GetKineticEnergy() const
G4double GetTotalEnergy() const
G4double GetPDGMass() const
Hep3Vector unit() const
G4DynamicParticle * GetParticle()
void SetDefinition(G4ParticleDefinition *aParticleDefinition)
G4ThreeVector GetMomentum() const
G4double GetTemperature() const
Definition: G4Material.hh:180
virtual G4FragmentVector * BreakItUp(const G4Fragment &nucleus)
const G4Material * GetMaterial() const
G4ReactionProductVector * Sample(G4double anEnergy)
double G4double
Definition: G4Types.hh:76
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
double mag() const
G4int GetNumberOfSecondaries() const
void AddSecondary(G4DynamicParticle *aP)
CLHEP::HepLorentzVector G4LorentzVector
void G4NeutronHPCaptureFS::Init ( G4double  A,
G4double  Z,
G4int  M,
G4String dirName,
G4String aFSType 
)
virtual

Implements G4NeutronHPFinalState.

Definition at line 309 of file G4NeutronHPCaptureFS.cc.

References G4NeutronHPManager::GetDataStream(), G4NeutronHPManager::GetInstance(), G4NeutronHPNames::GetName(), G4NeutronHPDataUsed::GetName(), G4NeutronHPPhotonDist::GetTargetMass(), G4NeutronHPFinalState::hasAnyData, G4NeutronHPFinalState::hasFSData, G4NeutronHPFinalState::hasXsec, G4NeutronHPEnAngCorrelation::Init(), G4NeutronHPPhotonDist::InitAngular(), G4NeutronHPPhotonDist::InitEnergies(), G4NeutronHPPhotonDist::InitMean(), G4NeutronHPFinalState::SetAZMs(), G4NeutronHPFinalState::theBaseA, and G4NeutronHPFinalState::theBaseZ.

310  {
311 
312  //TK110430 BEGIN
313  std::stringstream ss;
314  ss << static_cast<G4int>(Z);
315  G4String sZ;
316  ss >> sZ;
317  ss.clear();
318  ss << static_cast<G4int>(A);
319  G4String sA;
320  ss >> sA;
321 
322  ss.clear();
323  G4String sM;
324  if ( M > 0 )
325  {
326  ss << "m";
327  ss << M;
328  ss >> sM;
329  ss.clear();
330  }
331 
332  G4String element_name = theNames.GetName( static_cast<G4int>(Z)-1 );
333  G4String filenameMF6 = dirName+"/FSMF6/"+sZ+"_"+sA+sM+"_"+element_name;
334  //std::ifstream dummyIFS(filenameMF6, std::ios::in);
335  //if ( dummyIFS.good() == true ) hasExactMF6=true;
336  std::istringstream theData(std::ios::in);
337  G4NeutronHPManager::GetInstance()->GetDataStream(filenameMF6,theData);
338 
339  //TK110430 Only use MF6MT102 which has exactly same A and Z
340  //Even _nat_ do not select and there is no _nat_ case in ENDF-VII.0
341  if ( theData.good() == true ) {
342  hasExactMF6=true;
343  theMF6FinalState.Init(theData);
344  //theData.close();
345  return;
346  }
347  //TK110430 END
348 
349 
350  G4String tString = "/FS";
351  G4bool dbool;
352  G4NeutronHPDataUsed aFile = theNames.GetName(static_cast<G4int>(A), static_cast<G4int>(Z), M, dirName, tString, dbool);
353 
354  G4String filename = aFile.GetName();
355  SetAZMs( A, Z, M, aFile );
356  //theBaseA = A;
357  //theBaseZ = G4int(Z+.5);
358  if(!dbool || ( Z<2.5 && ( std::abs(theBaseZ - Z)>0.0001 || std::abs(theBaseA - A)>0.0001)))
359  {
360  hasAnyData = false;
361  hasFSData = false;
362  hasXsec = false;
363  return;
364  }
365  //std::ifstream theData(filename, std::ios::in);
366  //std::istringstream theData(std::ios::in);
367  theData.clear();
368  G4NeutronHPManager::GetInstance()->GetDataStream(filename,theData);
369  hasFSData = theFinalStatePhotons.InitMean(theData);
370  if(hasFSData)
371  {
372  targetMass = theFinalStatePhotons.GetTargetMass();
373  theFinalStatePhotons.InitAngular(theData);
374  theFinalStatePhotons.InitEnergies(theData);
375  }
376  //theData.close();
377  }
static G4NeutronHPManager * GetInstance()
void GetDataStream(G4String, std::istringstream &iss)
G4NeutronHPDataUsed GetName(G4int A, G4int Z, G4String base, G4String rest, G4bool &active)
void InitAngular(std::istream &aDataFile)
bool G4bool
Definition: G4Types.hh:79
void InitEnergies(std::istream &aDataFile)
G4bool InitMean(std::istream &aDataFile)
void SetAZMs(G4double anA, G4double aZ, G4int aM, G4NeutronHPDataUsed used)
void Init(std::istream &aDataFile)
G4NeutronHPFinalState* G4NeutronHPCaptureFS::New ( )
inlinevirtual

Implements G4NeutronHPFinalState.

Definition at line 57 of file G4NeutronHPCaptureFS.hh.

References G4NeutronHPCaptureFS().

58  {
60  return theNew;
61  }

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