Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ErrorPlaneSurfaceTarget Class Reference

#include <G4ErrorPlaneSurfaceTarget.hh>

+ Inheritance 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 ()
 
virtual double GetDistanceFromPoint (const G4ThreeVector &point, const G4ThreeVector &direc) const =0
 
virtual double GetDistanceFromPoint (const G4ThreeVector &point) const =0
 
virtual G4Plane3D GetTangentPlane (const G4ThreeVector &point) const =0
 
virtual void Dump (const G4String &msg) const =0
 
- Public Member Functions inherited from G4ErrorTanPlaneTarget
 G4ErrorTanPlaneTarget ()
 
virtual ~G4ErrorTanPlaneTarget ()
 
virtual G4Plane3D GetTangentPlane (const G4ThreeVector &point) const =0
 
virtual void Dump (const G4String &msg) const =0
 
- Public Member Functions inherited from G4ErrorTarget
 G4ErrorTarget ()
 
virtual ~G4ErrorTarget ()
 
virtual G4double GetDistanceFromPoint (const G4ThreeVector &, const G4ThreeVector &) const
 
virtual G4double GetDistanceFromPoint (const G4ThreeVector &) const
 
virtual G4bool TargetReached (const G4Step *)
 
virtual void Dump (const G4String &msg) const =0
 
G4ErrorTargetType GetType () const
 

Additional Inherited Members

- Protected Attributes inherited from G4ErrorTarget
G4ErrorTargetType theType
 

Detailed Description

Definition at line 42 of file G4ErrorPlaneSurfaceTarget.hh.

Constructor & Destructor Documentation

◆ G4ErrorPlaneSurfaceTarget() [1/3]

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

Definition at line 42 of file G4ErrorPlaneSurfaceTarget.cc.

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

◆ G4ErrorPlaneSurfaceTarget() [2/3]

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

Definition at line 58 of file G4ErrorPlaneSurfaceTarget.cc.

60 : G4Plane3D( norm, pt )
61{
63
64#ifdef G4VERBOSE
66 {
67 Dump( " $$$ creating G4ErrorPlaneSurfaceTarget from point and normal");
68 }
69#endif
70}

◆ G4ErrorPlaneSurfaceTarget() [3/3]

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

Definition at line 74 of file G4ErrorPlaneSurfaceTarget.cc.

78 : G4Plane3D( p1, p2, p3 )
79{
81
82#ifdef G4VERBOSE
84 {
85 Dump( " $$$ creating G4ErrorPlaneSurfaceTarget from three points");
86 }
87#endif
88}

◆ ~G4ErrorPlaneSurfaceTarget()

G4ErrorPlaneSurfaceTarget::~G4ErrorPlaneSurfaceTarget ( )

Definition at line 92 of file G4ErrorPlaneSurfaceTarget.cc.

93{
94}

Member Function Documentation

◆ Dump()

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

Implements G4ErrorSurfaceTarget.

Definition at line 172 of file G4ErrorPlaneSurfaceTarget.cc.

173{
174 G4cout << msg << " point = " << point()
175 << " normal = " << normal() << G4endl;
176}
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
Normal3D< G4double > normal() const
Definition: Plane3D.h:97
Point3D< G4double > point() const
Definition: Plane3D.h:122

Referenced by G4ErrorPlaneSurfaceTarget().

◆ GetDistanceFromPoint() [1/2]

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

Implements G4ErrorSurfaceTarget.

Definition at line 117 of file G4ErrorPlaneSurfaceTarget.cc.

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

Referenced by Intersect().

◆ GetDistanceFromPoint() [2/2]

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

Implements G4ErrorSurfaceTarget.

Definition at line 144 of file G4ErrorPlaneSurfaceTarget.cc.

146{
147 G4ThreeVector vec = point() - pt;
148 G4double dist = std::fabs(vec * normal() / normal().mag());
149
150#ifdef G4VERBOSE
152 {
153 G4cout << " G4ErrorPlaneSurfaceTarget::GetDistanceFromPoint()" << G4endl
154 << " Point: " << pt << G4endl
155 << " Distance: " << dist << G4endl;
156 }
157#endif
158
159 return dist;
160}

◆ GetTangentPlane()

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

Implements G4ErrorSurfaceTarget.

Definition at line 164 of file G4ErrorPlaneSurfaceTarget.cc.

166{
167 return *this;
168}

◆ Intersect()

G4ThreeVector G4ErrorPlaneSurfaceTarget::Intersect ( const G4ThreeVector point,
const G4ThreeVector direc 
) const
virtual

Definition at line 98 of file G4ErrorPlaneSurfaceTarget.cc.

100{
101 G4double lam = GetDistanceFromPoint( pt, dir );
102 G4Point3D inters = pt + lam * dir;
103
104#ifdef G4VERBOSE
106 {
107 G4cout << " $$$ creating G4ErrorPlaneSurfaceTarget::Intersect "
108 << inters << G4endl;
109 }
110#endif
111
112 return inters;
113}
virtual G4double GetDistanceFromPoint(const G4ThreeVector &point, const G4ThreeVector &direc) const

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