Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4ErrorPlaneSurfaceTarget Class Reference

#include <G4ErrorPlaneSurfaceTarget.hh>

Inheritance diagram for G4ErrorPlaneSurfaceTarget:
Collaboration diagram for G4ErrorPlaneSurfaceTarget:

Public Member Functions

 G4ErrorPlaneSurfaceTarget (G4double a=0, G4double b=0, G4double c=0, G4double d=0)
 
 G4ErrorPlaneSurfaceTarget (const G4Normal3D &n, const G4Point3D &p)
 
 G4ErrorPlaneSurfaceTarget (const G4Point3D &p1, const G4Point3D &p2, const G4Point3D &p3)
 
 ~G4ErrorPlaneSurfaceTarget ()
 
virtual G4ThreeVector Intersect (const G4ThreeVector &point, const G4ThreeVector &direc) const
 
virtual G4double GetDistanceFromPoint (const G4ThreeVector &point, const G4ThreeVector &direc) const
 
virtual G4double GetDistanceFromPoint (const G4ThreeVector &pt) const
 
virtual G4Plane3D GetTangentPlane (const G4ThreeVector &point) const
 
virtual void Dump (const G4String &msg) const
 
- Public Member Functions inherited from G4ErrorSurfaceTarget
 G4ErrorSurfaceTarget ()
 
virtual ~G4ErrorSurfaceTarget ()
 
- Public Member Functions inherited from G4ErrorTanPlaneTarget
 G4ErrorTanPlaneTarget ()
 
virtual ~G4ErrorTanPlaneTarget ()
 
- Public Member Functions inherited from G4ErrorTarget
 G4ErrorTarget ()
 
virtual ~G4ErrorTarget ()
 
virtual G4bool TargetReached (const G4Step *)
 
G4ErrorTargetType GetType () const
 

Additional Inherited Members

- Protected Attributes inherited from G4ErrorTarget
G4ErrorTargetType theType
 

Detailed Description

Definition at line 50 of file G4ErrorPlaneSurfaceTarget.hh.

Constructor & Destructor Documentation

G4ErrorPlaneSurfaceTarget::G4ErrorPlaneSurfaceTarget ( G4double  a = 0,
G4double  b = 0,
G4double  c = 0,
G4double  d = 0 
)

Definition at line 46 of file G4ErrorPlaneSurfaceTarget.cc.

47  : G4Plane3D( aa, ab, ac, ad )
48 {
50 
51 #ifdef G4VERBOSE
53  {
54  Dump( " $$$ creating G4ErrorPlaneSurfaceTarget from parameters");
55  }
56 #endif
57 }
virtual void Dump(const G4String &msg) const
G4ErrorTargetType theType
static const G4double ab
HepGeom::Plane3D< G4double > G4Plane3D
Definition: G4Plane3D.hh:37

Here is the call graph for this function:

G4ErrorPlaneSurfaceTarget::G4ErrorPlaneSurfaceTarget ( const G4Normal3D n,
const G4Point3D p 
)

Definition at line 62 of file G4ErrorPlaneSurfaceTarget.cc.

63  : G4Plane3D( norm, pt )
64 {
66 
67 #ifdef G4VERBOSE
69  {
70  Dump( " $$$ creating G4ErrorPlaneSurfaceTarget from point and normal");
71  }
72 #endif
73 }
virtual void Dump(const G4String &msg) const
G4ErrorTargetType theType
HepGeom::Plane3D< G4double > G4Plane3D
Definition: G4Plane3D.hh:37

Here is the call graph for this function:

G4ErrorPlaneSurfaceTarget::G4ErrorPlaneSurfaceTarget ( const G4Point3D p1,
const G4Point3D p2,
const G4Point3D p3 
)

Definition at line 78 of file G4ErrorPlaneSurfaceTarget.cc.

81  : G4Plane3D( p1, p2, p3 )
82 {
84 
85 #ifdef G4VERBOSE
87  {
88  Dump( " $$$ creating G4ErrorPlaneSurfaceTarget from three points");
89  }
90 #endif
91 }
virtual void Dump(const G4String &msg) const
G4ErrorTargetType theType
HepGeom::Plane3D< G4double > G4Plane3D
Definition: G4Plane3D.hh:37

Here is the call graph for this function:

G4ErrorPlaneSurfaceTarget::~G4ErrorPlaneSurfaceTarget ( )

Definition at line 95 of file G4ErrorPlaneSurfaceTarget.cc.

96 {
97 }

Member Function Documentation

void G4ErrorPlaneSurfaceTarget::Dump ( const G4String msg) const
virtual

Implements G4ErrorSurfaceTarget.

Definition at line 175 of file G4ErrorPlaneSurfaceTarget.cc.

176 {
177  G4cout << msg << " point = " << point()
178  << " normal = " << normal() << G4endl;
179 }
Normal3D< T > normal() const
Definition: Plane3D.h:90
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
Point3D< T > point() const
Definition: Plane3D.h:115

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4ErrorPlaneSurfaceTarget::GetDistanceFromPoint ( const G4ThreeVector point,
const G4ThreeVector direc 
) const
virtual

Implements G4ErrorSurfaceTarget.

Definition at line 121 of file G4ErrorPlaneSurfaceTarget.cc.

122 {
123  if( std::fabs( dir.mag() -1. ) > 1.E-6 )
124  {
125  std::ostringstream message;
126  message << "Direction is not a unit vector: " << dir << " !";
127  G4Exception("G4ErrorPlaneSurfaceTarget::GetDistanceFromPoint()",
128  "GeomMgt1002", JustWarning, message);
129  }
130  G4double dist = -(a_ * pt.x() + b_ * pt.y() + c_ * pt.z() + d_)
131  / (a_ * dir.x() + b_ * dir.y() + c_ * dir.z() );
132 
133 #ifdef G4VERBOSE
135  {
136  G4cout << " G4ErrorPlaneSurfaceTarget::GetDistanceFromPoint()" << G4endl
137  << " Point: " << pt << ", Direction: " << dir << G4endl
138  << " Distance: " << dist << G4endl;
139  }
140 #endif
141 
142  return dist;
143 }
G4GLOB_DLL std::ostream G4cout
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4ErrorPlaneSurfaceTarget::GetDistanceFromPoint ( const G4ThreeVector pt) const
virtual

Implements G4ErrorSurfaceTarget.

Definition at line 148 of file G4ErrorPlaneSurfaceTarget.cc.

149 {
150  G4ThreeVector vec = point() - pt;
151  G4double alpha = std::acos( vec * normal() / vec.mag() / normal().mag() );
152  G4double dist = std::fabs(vec.mag() * std::cos( alpha ));
153 
154 #ifdef G4VERBOSE
156  {
157  G4cout << " G4ErrorPlaneSurfaceTarget::GetDistanceFromPoint()" << G4endl
158  << " Point: " << pt << G4endl
159  << " Distance: " << dist << G4endl;
160  }
161 #endif
162 
163  return dist;
164 }
Normal3D< T > normal() const
Definition: Plane3D.h:90
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76
Point3D< T > point() const
Definition: Plane3D.h:115
static const G4double alpha
double mag() const

Here is the call graph for this function:

G4Plane3D G4ErrorPlaneSurfaceTarget::GetTangentPlane ( const G4ThreeVector point) const
virtual

Implements G4ErrorSurfaceTarget.

Definition at line 169 of file G4ErrorPlaneSurfaceTarget.cc.

170 {
171  return *this;
172 }
G4ThreeVector G4ErrorPlaneSurfaceTarget::Intersect ( const G4ThreeVector point,
const G4ThreeVector direc 
) const
virtual

Definition at line 102 of file G4ErrorPlaneSurfaceTarget.cc.

103 {
104  G4double lam = GetDistanceFromPoint( pt, dir );
105  G4Point3D inters = pt + lam * dir;
106 
107 #ifdef G4VERBOSE
109  {
110  G4cout << " $$$ creating G4ErrorPlaneSurfaceTarget::Intersect "
111  << inters << G4endl;
112  }
113 #endif
114 
115  return inters;
116 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76
virtual G4double GetDistanceFromPoint(const G4ThreeVector &point, const G4ThreeVector &direc) const

Here is the call graph for this function:


The documentation for this class was generated from the following files: