Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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)
 
- Public Member Functions inherited from G4VUserTrackInformation
 G4VUserTrackInformation ()
 
 G4VUserTrackInformation (const G4String &infoType)
 
 G4VUserTrackInformation (const G4VUserTrackInformation &)
 
G4VUserTrackInformationoperator= (const G4VUserTrackInformation &)
 
virtual ~G4VUserTrackInformation ()
 
virtual void Print () const
 
const G4StringGetType () const
 

Additional Inherited Members

- Protected Attributes inherited from G4VUserTrackInformation
G4StringpType
 

Detailed Description

Definition at line 62 of file WLSUserTrackInformation.hh.

Constructor & Destructor Documentation

WLSUserTrackInformation::WLSUserTrackInformation ( )

Definition at line 39 of file WLSUserTrackInformation.cc.

40 {
41  fStatus = undefined;
42  fExitPosition = G4ThreeVector(0.,0.,0.);
43 }
CLHEP::Hep3Vector G4ThreeVector
WLSUserTrackInformation::~WLSUserTrackInformation ( )
virtual

Definition at line 47 of file WLSUserTrackInformation.cc.

47 { }

Member Function Documentation

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 }
const XML_Char * s
Definition: expat.h:262

Here is the caller graph for this function:

const G4ThreeVector& WLSUserTrackInformation::GetExitPosition ( ) const
inline

Definition at line 70 of file WLSUserTrackInformation.hh.

70 { return fExitPosition; }
G4bool WLSUserTrackInformation::IsStatus ( TrackStatus  s)
inline

Definition at line 79 of file WLSUserTrackInformation.hh.

80  { return s == undefined ? !(fStatus &= defined) : fStatus & s; }
const XML_Char * s
Definition: expat.h:262

Here is the caller graph for this function:

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 caller graph for this function:


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