20 if (
this == &right)
return *
this;
22 for(
unsigned i=0; i<
m_MPV.size(); ++i)
32 m_MPV.push_back(newElement);
40 double *PropertyValues,
46 for(
int i = 0; i < NumElements; i++)
47 AddElement(PhotonMomenta[i], PropertyValues[i]);
58 m_MPV.push_back(newElement);
65 for(
unsigned i=0; i<
m_MPV.size(); ++i)
76 double aPropertyValue)
80 newElement =
new GeoMPVEntry(aPhotonMomentum, aPropertyValue);
81 m_MPV.push_back(newElement);
88 throw std::runtime_error(
"GeoMaterialPropertyVector::GetProperty ==>Iterator attempted to Retrieve Property out of range");
96 throw std::runtime_error(
"GeoMaterialPropertyVector::GetPhotonMomentum ==>Iterator attempted to Retrieve Photon Momentum out of range");
105 std::cerr <<
"nothing to dump\n";
106 throw std::runtime_error(
"GeoMaterialPropertyVector::DumpVector ==>Nothing to dump! Vector is empty");
111 std::cout <<
"m_MPV["<< i <<
"]: ";
112 m_MPV[i]->DumpEntry();
114 std::cout <<
" Done DumpVector of " <<
m_NumEntries <<
" entries\n";
GeoMaterialPropertyVector & operator=(const GeoMaterialPropertyVector &right)
~GeoMaterialPropertyVector()
GeoMaterialPropertyVector()
GeoMPVEntry GetEntry(int i) const
std::vector< GeoMPVEntry * > m_MPV
double GetPhotonMomentum() const
double GetProperty() const
void AddElement(double aPhotonMomentum, double aPropertyValue)