Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4PhysicsOrderedFreeVector.cc,v 1.15 2010-05-28 05:13:43 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
////////////////////////////////////////////////////////////////////////
// PhysicsOrderedFreeVector Class Implementation
@@ -66,17 +65,10 @@ G4PhysicsOrderedFreeVector::G4PhysicsOrderedFreeVector(G4double *Energies,
{
type = T_G4PhysicsOrderedFreeVector;
dataVector.reserve(VectorLength);
binVector.reserve(VectorLength);
numberOfNodes = VectorLength;
for (size_t i = 0 ; i < VectorLength ; i++)
{
binVector.push_back(Energies[i]);
dataVector.push_back(Values[i]);
InsertValues(Energies[i], Values[i]);
}
edgeMin = binVector[0];
edgeMax = binVector[numberOfNodes-1];
}
G4PhysicsOrderedFreeVector::G4PhysicsOrderedFreeVector()
@@ -97,12 +89,19 @@ G4PhysicsOrderedFreeVector::~G4PhysicsOrderedFreeVector() {}
void G4PhysicsOrderedFreeVector::InsertValues(G4double energy, G4double value)
{
binVector.push_back(energy);
dataVector.push_back(value);
std::vector<G4double>::iterator binLoc =
std::lower_bound(binVector.begin(), binVector.end(), energy);
size_t binIdx = binLoc - binVector.begin(); // Iterator difference!
std::vector<G4double>::iterator dataLoc = dataVector.begin() + binIdx;
binVector.insert(binLoc, energy);
dataVector.insert(dataLoc, value);
numberOfNodes++;
edgeMin = binVector.front();
edgeMax = binVector.back();
}
G4double G4PhysicsOrderedFreeVector::GetLowEdgeEnergy(size_t binNumber) const