Geant4 9.6.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 50 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 45 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}
@ G4ErrorTarget_PlaneSurface
HepGeom::Plane3D< G4double > G4Plane3D
Definition: G4Plane3D.hh:37
virtual void Dump(const G4String &msg) const
G4ErrorTargetType theType

◆ G4ErrorPlaneSurfaceTarget() [2/3]

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

Definition at line 61 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}

◆ G4ErrorPlaneSurfaceTarget() [3/3]

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

Definition at line 77 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}

◆ ~G4ErrorPlaneSurfaceTarget()

G4ErrorPlaneSurfaceTarget::~G4ErrorPlaneSurfaceTarget ( )

Definition at line 95 of file G4ErrorPlaneSurfaceTarget.cc.

96{
97}

Member Function Documentation

◆ Dump()

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}
#define G4endl
Definition: G4ios.hh:52
G4DLLIMPORT std::ostream G4cout
Normal3D< G4double > normal() const
Definition: Plane3D.h:90
Point3D< G4double > point() const
Definition: Plane3D.h:115

Referenced by G4ErrorPlaneSurfaceTarget().

◆ GetDistanceFromPoint() [1/2]

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

Implements G4ErrorSurfaceTarget.

Definition at line 120 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}
@ JustWarning
double G4double
Definition: G4Types.hh:64
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41

Referenced by Intersect().

◆ GetDistanceFromPoint() [2/2]

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

Implements G4ErrorSurfaceTarget.

Definition at line 147 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}
double mag() const

◆ GetTangentPlane()

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

Implements G4ErrorSurfaceTarget.

Definition at line 168 of file G4ErrorPlaneSurfaceTarget.cc.

170{
171 return *this;
172}

◆ Intersect()

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

Definition at line 101 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}
virtual G4double GetDistanceFromPoint(const G4ThreeVector &point, const G4ThreeVector &direc) const

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