Import Geant4 10.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-12-09 12:35:28 +01:00
parent 4ec577e5c4
commit a3452e42ac
3514 changed files with 210500 additions and 89628 deletions
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4PhysicsFreeVector.hh 74256 2013-10-02 14:24:02Z gcosmo $
// $Id: G4PhysicsFreeVector.hh 98864 2016-08-15 11:53:26Z gcosmo $
//
//
//--------------------------------------------------------------------
@@ -62,31 +62,35 @@
class G4PhysicsFreeVector : public G4PhysicsVector
{
public: // with description
public: // with description
G4PhysicsFreeVector();
explicit G4PhysicsFreeVector(size_t theNbin);
G4PhysicsFreeVector(const G4DataVector& binVector,
const G4DataVector& dataVector);
// Constructors:
// 'binVector' has the low edge value of each scale bin.
// 'dataVector' has the cross-section/energy-loss/etc at
// the energy/momenturm of the corresponding a bin of
// 'binVector'. 'binVector' and 'dataVector' need to have
// the same vector length.
G4PhysicsFreeVector();
// the vector will be filled from external file using Retrieve method
explicit G4PhysicsFreeVector(size_t length);
// the vector with 'length' elements will be filled using PutValue method
// by default the vector is initialized with zeros
G4PhysicsFreeVector(const G4DataVector& eVector,
const G4DataVector& dataVector);
// the vector is filled in this constructor
// 'eVector' and 'dataVector' need to have the same vector length
// 'eVector' assumed to be ordered
virtual ~G4PhysicsFreeVector();
// Destructor
void PutValue( size_t binNumber, G4double binValue,
G4double dataValue );
// To use this method to fill a PhysicsFreeVector, you have
// to Construct a PhysicsFreeVector of the size you need
// using G4PhysicsFreeVector(size_t theNbin). Also take
// note that you have to fill all bin values and data
// values before you the PhysicsFreeVector.
virtual ~G4PhysicsFreeVector();
inline void PutValue(size_t index, G4double energy, G4double dataValue);
// user code is responsible for correct filling of all elements
};
inline
void G4PhysicsFreeVector::PutValue(size_t index, G4double e, G4double value)
{
if(index >= numberOfNodes) { PrintPutValueError(index); }
binVector[index] = e;
dataVector[index] = value;
if(index == 0) { edgeMin = e; }
else if( numberOfNodes - 1 == index) { edgeMax = e; }
}
#endif