Geant4  10.02.p03
WLSUserTrackInformation Class Reference

#include <WLSUserTrackInformation.hh>

Inheritance diagram for WLSUserTrackInformation:
Collaboration diagram for WLSUserTrackInformation:

Public Member Functions

 WLSUserTrackInformation ()
 
virtual ~WLSUserTrackInformation ()
 
const G4ThreeVectorGetExitPosition () const
 
void SetExitPosition (const G4ThreeVector &pos)
 
G4bool AddStatusFlag (TrackStatus s)
 
G4bool isStatus (TrackStatus s)
 

Private Attributes

G4int fStatus
 
G4ThreeVector fExitPosition
 

Detailed Description

Definition at line 62 of file WLSUserTrackInformation.hh.

Constructor & Destructor Documentation

◆ WLSUserTrackInformation()

WLSUserTrackInformation::WLSUserTrackInformation ( )

Definition at line 39 of file WLSUserTrackInformation.cc.

40 {
42  fExitPosition = G4ThreeVector(0.,0.,0.);
43 }
CLHEP::Hep3Vector G4ThreeVector

◆ ~WLSUserTrackInformation()

WLSUserTrackInformation::~WLSUserTrackInformation ( )
virtual

Definition at line 47 of file WLSUserTrackInformation.cc.

47 { }

Member Function Documentation

◆ AddStatusFlag()

G4bool WLSUserTrackInformation::AddStatusFlag ( TrackStatus  s)

Definition at line 51 of file WLSUserTrackInformation.cc.

55 {
56  switch (s) {
57 
58  case left:
59  case right:
60 
61  // Allow the user to set left or right
62  // only if the track is undefined
63  if (fStatus == undefined) return fStatus |= s;
64 
65  return false;
66 
67  case EscapedFromSide:
68  case EscapedFromReadOut:
69 
70  // Allow the user to set escaped flag
71  // only if the photon hasn't exited the fiber yet
72 
73  if ((fStatus == undefined) || (fStatus & OutsideOfFiber)) return false;
74 
75  return fStatus |= s;
76 
77  case ReflectedAtMirror:
78  case ReflectedAtReadOut:
79  case murderee:
80 
81  return fStatus |= s;
82 
83  case InsideOfFiber:
84 
85  return ( fStatus =
86  (fStatus & ~(EscapedFromSide + EscapedFromReadOut + OutsideOfFiber)) | s);
87 
88  case OutsideOfFiber:
89 
90  return ( fStatus = (fStatus & ~InsideOfFiber) | s );
91 
92  default:
93 
94  return false;
95  }
96 }
static const double s
Definition: G4SIunits.hh:168
Here is the caller graph for this function:

◆ GetExitPosition()

const G4ThreeVector& WLSUserTrackInformation::GetExitPosition ( ) const
inline

Definition at line 70 of file WLSUserTrackInformation.hh.

70 { return fExitPosition; }

◆ isStatus()

G4bool WLSUserTrackInformation::isStatus ( TrackStatus  s)
inline

Definition at line 79 of file WLSUserTrackInformation.hh.

80  { return s == undefined ? !(fStatus &= defined) : fStatus & s; }
static const double s
Definition: G4SIunits.hh:168
Here is the caller graph for this function:

◆ SetExitPosition()

void WLSUserTrackInformation::SetExitPosition ( const G4ThreeVector pos)
inline

Definition at line 71 of file WLSUserTrackInformation.hh.

71 { fExitPosition = pos; }
static const G4double pos
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ fExitPosition

G4ThreeVector WLSUserTrackInformation::fExitPosition
private

Definition at line 85 of file WLSUserTrackInformation.hh.

◆ fStatus

G4int WLSUserTrackInformation::fStatus
private

Definition at line 84 of file WLSUserTrackInformation.hh.


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