Geant4  10.02.p03
G4VTwistSurface::CurrentStatus Class Reference

#include <G4VTwistSurface.hh>

Collaboration diagram for G4VTwistSurface::CurrentStatus:

Public Member Functions

 CurrentStatus ()
 
virtual ~CurrentStatus ()
 
G4ThreeVector GetXX (G4int i) const
 
G4double GetDistance (G4int i) const
 
G4int GetAreacode (G4int i) const
 
G4int GetNXX () const
 
G4bool IsDone () const
 
G4bool IsValid (G4int i) const
 
void SetCurrentStatus (G4int i, G4ThreeVector &xx, G4double &dist, G4int &areacode, G4bool &isvalid, G4int nxx, EValidate validate, const G4ThreeVector *p, const G4ThreeVector *v=0)
 
void ResetfDone (EValidate validate, const G4ThreeVector *p, const G4ThreeVector *v=0)
 
void DebugPrint () const
 

Private Attributes

G4double fDistance [G4VSURFACENXX]
 
G4ThreeVector fXX [G4VSURFACENXX]
 
G4int fAreacode [G4VSURFACENXX]
 
G4bool fIsValid [G4VSURFACENXX]
 
G4int fNXX
 
G4ThreeVector fLastp
 
G4ThreeVector fLastv
 
EValidate fLastValidate
 
G4bool fDone
 

Detailed Description

Definition at line 251 of file G4VTwistSurface.hh.

Constructor & Destructor Documentation

◆ CurrentStatus()

G4VTwistSurface::CurrentStatus::CurrentStatus ( )

Definition at line 1124 of file G4VTwistSurface.cc.

1125 {
1126  for (size_t i=0; i<G4VSURFACENXX; i++)
1127  {
1128  fDistance[i] = kInfinity;
1129  fAreacode[i] = sOutside;
1130  fIsValid[i] = false;
1132  }
1133  fNXX = 0;
1137  fDone = false;
1138 }
void set(double x, double y, double z)
static const G4double kInfinity
Definition: geomdefs.hh:42
G4ThreeVector fXX[G4VSURFACENXX]
static const G4int sOutside
#define G4VSURFACENXX
G4double fDistance[G4VSURFACENXX]
G4bool fIsValid[G4VSURFACENXX]
G4int fAreacode[G4VSURFACENXX]

◆ ~CurrentStatus()

G4VTwistSurface::CurrentStatus::~CurrentStatus ( )
virtual

Definition at line 1143 of file G4VTwistSurface.cc.

1144 {
1145 }

Member Function Documentation

◆ DebugPrint()

void G4VTwistSurface::CurrentStatus::DebugPrint ( ) const

Definition at line 1219 of file G4VTwistSurface.cc.

1220 {
1221  G4cout << "CurrentStatus::Dist0,1= " << fDistance[0]
1222  << " " << fDistance[1] << " areacode = " << fAreacode[0]
1223  << " " << fAreacode[1] << G4endl;
1224 }
G4GLOB_DLL std::ostream G4cout
G4double fDistance[G4VSURFACENXX]
#define G4endl
Definition: G4ios.hh:61
G4int fAreacode[G4VSURFACENXX]
Here is the caller graph for this function:

◆ GetAreacode()

G4int G4VTwistSurface::CurrentStatus::GetAreacode ( G4int  i) const
inline

Definition at line 260 of file G4VTwistSurface.hh.

260 { return fAreacode[i]; }
G4int fAreacode[G4VSURFACENXX]
Here is the caller graph for this function:

◆ GetDistance()

G4double G4VTwistSurface::CurrentStatus::GetDistance ( G4int  i) const
inline

Definition at line 259 of file G4VTwistSurface.hh.

259 { return fDistance[i]; }
G4double fDistance[G4VSURFACENXX]
Here is the caller graph for this function:

◆ GetNXX()

G4int G4VTwistSurface::CurrentStatus::GetNXX ( ) const
inline

Definition at line 261 of file G4VTwistSurface.hh.

Here is the caller graph for this function:

◆ GetXX()

G4ThreeVector G4VTwistSurface::CurrentStatus::GetXX ( G4int  i) const
inline

Definition at line 258 of file G4VTwistSurface.hh.

258 { return fXX[i]; }
G4ThreeVector fXX[G4VSURFACENXX]
Here is the caller graph for this function:

◆ IsDone()

G4bool G4VTwistSurface::CurrentStatus::IsDone ( ) const
inline

Definition at line 262 of file G4VTwistSurface.hh.

262 { return fDone; }
Here is the caller graph for this function:

◆ IsValid()

G4bool G4VTwistSurface::CurrentStatus::IsValid ( G4int  i) const
inline

Definition at line 263 of file G4VTwistSurface.hh.

263 { return fIsValid[i]; }
G4bool fIsValid[G4VSURFACENXX]
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ResetfDone()

void G4VTwistSurface::CurrentStatus::ResetfDone ( EValidate  validate,
const G4ThreeVector p,
const G4ThreeVector v = 0 
)

Definition at line 1191 of file G4VTwistSurface.cc.

1195 {
1196  if (validate == fLastValidate && p && *p == fLastp)
1197  {
1198  if (!v || (*v == fLastv)) return;
1199  }
1201  for (size_t i=0; i<G4VSURFACENXX; i++)
1202  {
1203  fDistance[i] = kInfinity;
1204  fAreacode[i] = sOutside;
1205  fIsValid[i] = false;
1206  fXX[i] = xx; // bug in old code ( was fXX[i] = xx[i] )
1207  }
1208  fNXX = 0;
1212  fDone = false;
1213 }
void set(double x, double y, double z)
static const G4double kInfinity
Definition: geomdefs.hh:42
G4ThreeVector fXX[G4VSURFACENXX]
Double_t xx
static const G4int sOutside
#define G4VSURFACENXX
G4double fDistance[G4VSURFACENXX]
G4bool fIsValid[G4VSURFACENXX]
G4int fAreacode[G4VSURFACENXX]
Here is the caller graph for this function:

◆ SetCurrentStatus()

void G4VTwistSurface::CurrentStatus::SetCurrentStatus ( G4int  i,
G4ThreeVector xx,
G4double dist,
G4int areacode,
G4bool isvalid,
G4int  nxx,
EValidate  validate,
const G4ThreeVector p,
const G4ThreeVector v = 0 
)

Definition at line 1151 of file G4VTwistSurface.cc.

1160 {
1161  fDistance[i] = dist;
1162  fAreacode[i] = areacode;
1163  fIsValid[i] = isvalid;
1164  fXX[i] = xx;
1165  fNXX = nxx;
1166  fLastValidate = validate;
1167  if (p)
1168  {
1169  fLastp = *p;
1170  }
1171  else
1172  {
1173  G4Exception("G4VTwistSurface::CurrentStatus::SetCurrentStatus()",
1174  "GeomSolids0003", FatalException, "SetCurrentStatus: p = 0!");
1175  }
1176  if (v)
1177  {
1178  fLastv = *v;
1179  }
1180  else
1181  {
1183  }
1184  fDone = true;
1185 }
void set(double x, double y, double z)
static const G4double kInfinity
Definition: geomdefs.hh:42
G4ThreeVector fXX[G4VSURFACENXX]
Double_t xx
G4double fDistance[G4VSURFACENXX]
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4bool fIsValid[G4VSURFACENXX]
G4int fAreacode[G4VSURFACENXX]
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ fAreacode

G4int G4VTwistSurface::CurrentStatus::fAreacode[G4VSURFACENXX]
private

Definition at line 286 of file G4VTwistSurface.hh.

◆ fDistance

G4double G4VTwistSurface::CurrentStatus::fDistance[G4VSURFACENXX]
private

Definition at line 284 of file G4VTwistSurface.hh.

◆ fDone

G4bool G4VTwistSurface::CurrentStatus::fDone
private

Definition at line 292 of file G4VTwistSurface.hh.

◆ fIsValid

G4bool G4VTwistSurface::CurrentStatus::fIsValid[G4VSURFACENXX]
private

Definition at line 287 of file G4VTwistSurface.hh.

◆ fLastp

G4ThreeVector G4VTwistSurface::CurrentStatus::fLastp
private

Definition at line 289 of file G4VTwistSurface.hh.

◆ fLastv

G4ThreeVector G4VTwistSurface::CurrentStatus::fLastv
private

Definition at line 290 of file G4VTwistSurface.hh.

◆ fLastValidate

EValidate G4VTwistSurface::CurrentStatus::fLastValidate
private

Definition at line 291 of file G4VTwistSurface.hh.

◆ fNXX

G4int G4VTwistSurface::CurrentStatus::fNXX
private

Definition at line 288 of file G4VTwistSurface.hh.

◆ fXX

G4ThreeVector G4VTwistSurface::CurrentStatus::fXX[G4VSURFACENXX]
private

Definition at line 285 of file G4VTwistSurface.hh.


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