Geant4-11
Public Member Functions | Private Attributes
G4VTwistSurface::CurrentStatus Class Reference

#include <G4VTwistSurface.hh>

Public Member Functions

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

Private Attributes

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

Detailed Description

Definition at line 239 of file G4VTwistSurface.hh.

Constructor & Destructor Documentation

◆ CurrentStatus()

G4VTwistSurface::CurrentStatus::CurrentStatus ( )

Definition at line 1172 of file G4VTwistSurface.cc.

1173{
1174 for (size_t i=0; i<G4VSURFACENXX; ++i)
1175 {
1176 fDistance[i] = kInfinity;
1177 fAreacode[i] = sOutside;
1178 fIsValid[i] = false;
1180 }
1181 fNXX = 0;
1185 fDone = false;
1186}
#define G4VSURFACENXX
void set(double x, double y, double z)
G4double fDistance[G4VSURFACENXX]
G4int fAreacode[G4VSURFACENXX]
G4bool fIsValid[G4VSURFACENXX]
G4ThreeVector fXX[G4VSURFACENXX]
static const G4int sOutside
static const G4double kInfinity
Definition: geomdefs.hh:41

References fAreacode, fDistance, fDone, fIsValid, fLastp, fLastv, fLastValidate, fNXX, fXX, G4VSURFACENXX, kInfinity, G4VTwistSurface::kUninitialized, CLHEP::Hep3Vector::set(), and G4VTwistSurface::sOutside.

◆ ~CurrentStatus()

G4VTwistSurface::CurrentStatus::~CurrentStatus ( )
virtual

Definition at line 1191 of file G4VTwistSurface.cc.

1192{
1193}

Member Function Documentation

◆ DebugPrint()

void G4VTwistSurface::CurrentStatus::DebugPrint ( ) const

Definition at line 1267 of file G4VTwistSurface.cc.

1268{
1269 G4cout << "CurrentStatus::Dist0,1= " << fDistance[0]
1270 << " " << fDistance[1] << " areacode = " << fAreacode[0]
1271 << " " << fAreacode[1] << G4endl;
1272}
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout

References G4cout, and G4endl.

◆ GetAreacode()

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

◆ GetDistance()

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

◆ GetNXX()

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

◆ GetXX()

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

◆ IsDone()

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

◆ IsValid()

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

◆ ResetfDone()

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

Definition at line 1239 of file G4VTwistSurface.cc.

1243{
1244 if (validate == fLastValidate && p != nullptr && *p == fLastp)
1245 {
1246 if (v == nullptr || (*v == fLastv)) return;
1247 }
1249 for (size_t i=0; i<G4VSURFACENXX; ++i)
1250 {
1251 fDistance[i] = kInfinity;
1252 fAreacode[i] = sOutside;
1253 fIsValid[i] = false;
1254 fXX[i] = xx; // bug in old code ( was fXX[i] = xx[i] )
1255 }
1256 fNXX = 0;
1260 fDone = false;
1261}

References G4VSURFACENXX, kInfinity, G4VTwistSurface::kUninitialized, CLHEP::Hep3Vector::set(), and G4VTwistSurface::sOutside.

Referenced by G4TwistBoxSide::DistanceToSurface(), G4TwistTrapAlphaSide::DistanceToSurface(), G4TwistTrapFlatSide::DistanceToSurface(), G4TwistTrapParallelSide::DistanceToSurface(), G4TwistTubsFlatSide::DistanceToSurface(), G4TwistTubsHypeSide::DistanceToSurface(), and G4TwistTubsSide::DistanceToSurface().

◆ 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 = nullptr 
)

Definition at line 1199 of file G4VTwistSurface.cc.

1208{
1209 fDistance[i] = dist;
1210 fAreacode[i] = areacode;
1211 fIsValid[i] = isvalid;
1212 fXX[i] = xx;
1213 fNXX = nxx;
1214 fLastValidate = validate;
1215 if (p != nullptr)
1216 {
1217 fLastp = *p;
1218 }
1219 else
1220 {
1221 G4Exception("G4VTwistSurface::CurrentStatus::SetCurrentStatus()",
1222 "GeomSolids0003", FatalException, "SetCurrentStatus: p = 0!");
1223 }
1224 if (v != nullptr)
1225 {
1226 fLastv = *v;
1227 }
1228 else
1229 {
1231 }
1232 fDone = true;
1233}
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35

References FatalException, G4Exception(), kInfinity, and CLHEP::Hep3Vector::set().

Referenced by G4TwistBoxSide::DistanceToSurface(), G4TwistTrapAlphaSide::DistanceToSurface(), G4TwistTrapFlatSide::DistanceToSurface(), G4TwistTrapParallelSide::DistanceToSurface(), G4TwistTubsFlatSide::DistanceToSurface(), G4TwistTubsHypeSide::DistanceToSurface(), and G4TwistTubsSide::DistanceToSurface().

Field Documentation

◆ fAreacode

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

Definition at line 274 of file G4VTwistSurface.hh.

Referenced by CurrentStatus(), and GetAreacode().

◆ fDistance

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

Definition at line 272 of file G4VTwistSurface.hh.

Referenced by CurrentStatus(), and GetDistance().

◆ fDone

G4bool G4VTwistSurface::CurrentStatus::fDone
private

Definition at line 280 of file G4VTwistSurface.hh.

Referenced by CurrentStatus(), and IsDone().

◆ fIsValid

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

Definition at line 275 of file G4VTwistSurface.hh.

Referenced by CurrentStatus(), and IsValid().

◆ fLastp

G4ThreeVector G4VTwistSurface::CurrentStatus::fLastp
private

Definition at line 277 of file G4VTwistSurface.hh.

Referenced by CurrentStatus().

◆ fLastv

G4ThreeVector G4VTwistSurface::CurrentStatus::fLastv
private

Definition at line 278 of file G4VTwistSurface.hh.

Referenced by CurrentStatus().

◆ fLastValidate

EValidate G4VTwistSurface::CurrentStatus::fLastValidate
private

Definition at line 279 of file G4VTwistSurface.hh.

Referenced by CurrentStatus().

◆ fNXX

G4int G4VTwistSurface::CurrentStatus::fNXX
private

Definition at line 276 of file G4VTwistSurface.hh.

Referenced by CurrentStatus(), and GetNXX().

◆ fXX

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

Definition at line 273 of file G4VTwistSurface.hh.

Referenced by CurrentStatus(), and GetXX().


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