Geant4  10.02.p03
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
 
- Private Member Functions inherited from HepGeom::Plane3D< G4double >
 Plane3D ()
 
 Plane3D (G4double a1, G4double b1, G4double c1, G4double d1)
 
 Plane3D (const Normal3D< G4double > &n, const Point3D< G4double > &p)
 
 Plane3D (const Point3D< G4double > &p1, const Point3D< G4double > &p2, const Point3D< G4double > &p3)
 
 Plane3D (const Plane3D< float > &p)
 
 ~Plane3D ()
 
Plane3D< G4double > & operator= (const Plane3D< G4double > &p)
 
G4double a () const
 
G4double b () const
 
G4double c () const
 
G4double d () const
 
Normal3D< G4doublenormal () const
 
Plane3D< G4double > & normalize ()
 
G4double distance (const Point3D< G4double > &p) const
 
Point3D< G4doublepoint (const Point3D< G4double > &p) const
 
Point3D< G4doublepoint () const
 
bool operator== (const Plane3D< G4double > &p) const
 
bool operator!= (const Plane3D< G4double > &p) const
 
Plane3D< G4double > & transform (const Transform3D &m)
 
- Private Attributes inherited from HepGeom::Plane3D< G4double >
G4double a_
 
G4double b_
 
G4double c_
 
G4double d_
 

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 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 }
G4ErrorTargetType theType
static const G4double ab
virtual void Dump(const G4String &msg) const
HepGeom::Plane3D< G4double > G4Plane3D
Definition: G4Plane3D.hh:37
Here is the call graph for this function:
Here is the caller graph for this function:

◆ G4ErrorPlaneSurfaceTarget() [2/3]

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 }
Float_t norm
TMarker * pt
Definition: egs.C:25
G4ErrorTargetType theType
virtual void Dump(const G4String &msg) const
HepGeom::Plane3D< G4double > G4Plane3D
Definition: G4Plane3D.hh:37
Here is the call graph for this function:

◆ G4ErrorPlaneSurfaceTarget() [3/3]

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 }
G4ErrorTargetType theType
virtual void Dump(const G4String &msg) const
HepGeom::Plane3D< G4double > G4Plane3D
Definition: G4Plane3D.hh:37
Here is the call graph for this function:

◆ ~G4ErrorPlaneSurfaceTarget()

G4ErrorPlaneSurfaceTarget::~G4ErrorPlaneSurfaceTarget ( )

Definition at line 95 of file G4ErrorPlaneSurfaceTarget.cc.

96 {
97 }
Here is the call graph for this function:

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 }
Normal3D< G4double > normal() const
Definition: Plane3D.h:90
Point3D< G4double > point() const
Definition: Plane3D.h:115
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetDistanceFromPoint() [1/2]

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 }
TDirectory * dir
G4GLOB_DLL std::ostream G4cout
TMarker * pt
Definition: egs.C:25
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:

◆ GetDistanceFromPoint() [2/2]

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< G4double > normal() const
Definition: Plane3D.h:90
Point3D< G4double > point() const
Definition: Plane3D.h:115
G4GLOB_DLL std::ostream G4cout
double mag() const
TMarker * pt
Definition: egs.C:25
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76
static const G4double alpha
Here is the call graph for this function:

◆ GetTangentPlane()

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

Implements G4ErrorSurfaceTarget.

Definition at line 169 of file G4ErrorPlaneSurfaceTarget.cc.

170 {
171  return *this;
172 }
Here is the caller graph for this function:

◆ Intersect()

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

Definition at line 102 of file G4ErrorPlaneSurfaceTarget.cc.

103 {
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
TDirectory * dir
G4GLOB_DLL std::ostream G4cout
TMarker * pt
Definition: egs.C:25
#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:

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