Import Geant4 3.0.0 source tree
This commit is contained in:
@@ -1,5 +1,25 @@
|
||||
inline void G4Ellipse::Init(const G4Axis2Placement3D& position0,
|
||||
G4double semiAxis10, G4double semiAxis20) {
|
||||
// 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: G4Ellipse.icc,v 1.5 2000/11/08 14:22:01 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 inline definitions file
|
||||
//
|
||||
// G4Ellipse.icc
|
||||
//
|
||||
// Implementation of inline methods of G4Ellipse
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
inline
|
||||
void G4Ellipse::Init(const G4Axis2Placement3D& position0,
|
||||
G4double semiAxis10, G4double semiAxis20)
|
||||
{
|
||||
position= position0;
|
||||
semiAxis1= semiAxis10;
|
||||
semiAxis2= semiAxis20;
|
||||
@@ -15,28 +35,38 @@ inline void G4Ellipse::Init(const G4Axis2Placement3D& position0,
|
||||
forTangent= -semiAxis1*semiAxis1/(semiAxis2*semiAxis2);
|
||||
}
|
||||
|
||||
inline G4double G4Ellipse::GetSemiAxis1() const {
|
||||
inline
|
||||
G4double G4Ellipse::GetSemiAxis1() const
|
||||
{
|
||||
return semiAxis1;
|
||||
}
|
||||
|
||||
inline G4double G4Ellipse::GetSemiAxis2() const {
|
||||
inline
|
||||
G4double G4Ellipse::GetSemiAxis2() const
|
||||
{
|
||||
return semiAxis2;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
inline G4double G4Ellipse::GetPMax() {
|
||||
inline
|
||||
G4double G4Ellipse::GetPMax() const
|
||||
{
|
||||
return twopi;
|
||||
}
|
||||
|
||||
inline G4Point3D G4Ellipse::GetPoint(G4double param) {
|
||||
inline
|
||||
G4Point3D G4Ellipse::GetPoint(G4double param) const
|
||||
{
|
||||
param-= GetPShift();
|
||||
return position.GetLocation()
|
||||
+ semiAxis1*cos(param)*position.GetPX()
|
||||
+ semiAxis2*sin(param)*position.GetPY();
|
||||
return G4Point3D( position.GetLocation()
|
||||
+ semiAxis1*cos(param)*position.GetPX()
|
||||
+ semiAxis2*sin(param)*position.GetPY() );
|
||||
}
|
||||
|
||||
inline G4double G4Ellipse::GetPPoint(const G4Point3D& pt) {
|
||||
inline
|
||||
G4double G4Ellipse::GetPPoint(const G4Point3D& pt) const
|
||||
{
|
||||
G4Point3D ptLocal= position.GetToPlacementCoordinates()*pt;
|
||||
G4double angle= atan2(ptLocal.y(), ptLocal.x()*ratioAxis2Axis1);
|
||||
G4double r= (angle<0)? angle+twopi: angle;
|
||||
@@ -48,8 +78,9 @@ inline G4double G4Ellipse::GetPPoint(const G4Point3D& pt) {
|
||||
#include "G4CurveRayIntersection.hh"
|
||||
|
||||
/*
|
||||
inline void G4Ellipse::IntersectRay2D(const G4Ray& ray,
|
||||
G4CurveRayIntersection& is)
|
||||
inline
|
||||
void G4Ellipse::IntersectRay2D(const G4Ray& ray,
|
||||
G4CurveRayIntersection& is)
|
||||
{
|
||||
is.Init(*this, ray);
|
||||
|
||||
@@ -88,7 +119,8 @@ inline void G4Ellipse::IntersectRay2D(const G4Ray& ray,
|
||||
}
|
||||
*/
|
||||
|
||||
inline G4int G4Ellipse::IntersectRay2D(const G4Ray& ray)
|
||||
inline
|
||||
G4int G4Ellipse::IntersectRay2D(const G4Ray& ray)
|
||||
{
|
||||
// transform s.t. the ellipse becomes the unit circle
|
||||
// with the center at the origin
|
||||
@@ -127,5 +159,3 @@ inline G4int G4Ellipse::IntersectRay2D(const G4Ray& ray)
|
||||
|
||||
return nbinter;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user