// This code implementation is the intellectual property of // the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // // $Id: G4CurvePoint.icc,v 1.2 2000/08/28 08:57:45 gcosmo Exp $ // GEANT4 tag $Name: geant4-03-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file // // G4CurvePoint.icc // // Implementation of inline methods of G4CurvePoint // -------------------------------------------------------------------- inline void G4CurvePoint::Init(G4Curve& c0) { c= &c0; notComputed= allFlags; } inline G4Curve& G4CurvePoint::GetCurve() const { return *c; } ///////////////////////////////////////////////////////////////////////////// inline void G4CurvePoint::Reset() { notComputed= allFlags; } inline void G4CurvePoint::Reset(G4double u0) { u= u0; notComputed= pFlag; } inline void G4CurvePoint::Reset(const G4Point3D& p0) { p= p0; notComputed= uFlag; } inline void G4CurvePoint::Reset(G4double u0, const G4Point3D& p0) { u= u0; p= p0; notComputed= 0; } ///////////////////////////////////////////////////////////////////////////// inline G4double G4CurvePoint::GetPPoint() { if (notComputed & uFlag) { u= c->GetPPoint(p); notComputed &= ~uFlag; } return u; } inline const G4Point3D& G4CurvePoint::GetPoint() { if (notComputed & pFlag) { p= c->GetPoint(u); notComputed &= ~pFlag; } return p; }