Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
LXeTrackingAction Class Reference

#include <LXeTrackingAction.hh>

Inheritance diagram for LXeTrackingAction:
G4UserTrackingAction

Public Member Functions

 LXeTrackingAction (LXeRecorderBase *)
 
virtual ~LXeTrackingAction ()
 
virtual void PreUserTrackingAction (const G4Track *)
 
virtual void PostUserTrackingAction (const G4Track *)
 
- Public Member Functions inherited from G4UserTrackingAction
 G4UserTrackingAction ()
 
virtual ~G4UserTrackingAction ()
 
void SetTrackingManagerPointer (G4TrackingManager *pValue)
 

Additional Inherited Members

- Protected Attributes inherited from G4UserTrackingAction
G4TrackingManagerfpTrackingManager
 

Detailed Description

Definition at line 40 of file LXeTrackingAction.hh.

Constructor & Destructor Documentation

LXeTrackingAction::LXeTrackingAction ( LXeRecorderBase r)

Definition at line 44 of file LXeTrackingAction.cc.

45  : fRecorder(r) {}
virtual LXeTrackingAction::~LXeTrackingAction ( )
inlinevirtual

Definition at line 45 of file LXeTrackingAction.hh.

45 {};

Member Function Documentation

void LXeTrackingAction::PostUserTrackingAction ( const G4Track aTrack)
virtual

Reimplemented from G4UserTrackingAction.

Definition at line 68 of file LXeTrackingAction.cc.

References G4UserTrackingAction::fpTrackingManager, G4Track::GetCreatorProcess(), G4Track::GetDefinition(), LXeUserTrackInformation::GetForceDrawTrajectory(), G4VProcess::GetProcessName(), LXeDetectorConstruction::GetSphereOn(), LXeUserTrackInformation::GetTrackStatus(), G4Track::GetUserInformation(), G4TrackingManager::GimmeTrajectory(), hitPMT, hitSphere, G4OpticalPhoton::OpticalPhotonDefinition(), LXeRecorderBase::RecordTrack(), LXeTrajectory::SetDrawTrajectory(), and LXeTrajectory::WLS().

68  {
71  trackInformation=(LXeUserTrackInformation*)aTrack->GetUserInformation();
72 
73  //Lets choose to draw only the photons that hit the sphere and a pmt
75 
76  const G4VProcess* creator=aTrack->GetCreatorProcess();
77  if(creator && creator->GetProcessName()=="OpWLS"){
78  trajectory->WLS();
79  trajectory->SetDrawTrajectory(true);
80  }
81 
83  if((trackInformation->GetTrackStatus()&hitPMT)&&
84  (trackInformation->GetTrackStatus()&hitSphere)){
85  trajectory->SetDrawTrajectory(true);
86  }
87  }
88  else{
89  if(trackInformation->GetTrackStatus()&hitPMT)
90  trajectory->SetDrawTrajectory(true);
91  }
92  }
93  else //draw all other trajectories
94  trajectory->SetDrawTrajectory(true);
95 
96  if(trackInformation->GetForceDrawTrajectory())
97  trajectory->SetDrawTrajectory(true);
98 
99  if(fRecorder)fRecorder->RecordTrack(aTrack);
100 }
G4ParticleDefinition * GetDefinition() const
G4TrackingManager * fpTrackingManager
G4VTrajectory * GimmeTrajectory() const
virtual void RecordTrack(const G4Track *)
G4VUserTrackInformation * GetUserInformation() const
const G4VProcess * GetCreatorProcess() const
const G4String & GetProcessName() const
Definition: G4VProcess.hh:408
static G4OpticalPhoton * OpticalPhotonDefinition()
void SetDrawTrajectory(G4bool b)
void LXeTrackingAction::PreUserTrackingAction ( const G4Track aTrack)
virtual

Reimplemented from G4UserTrackingAction.

Definition at line 49 of file LXeTrackingAction.cc.

References G4UserTrackingAction::fpTrackingManager, G4TrackingManager::SetTrajectory(), and G4TrackingManager::SetUserTrackInformation().

50 {
51  //Let this be up to the user via vis.mac
52  // fpTrackingManager->SetStoreTrajectory(true);
53 
54  //Use custom trajectory class
56 
57  //This user track information is only relevant to the photons
59 
60  /* const G4VProcess* creator = aTrack->GetCreatorProcess();
61  if(creator)
62  G4cout<<creator->GetProcessName()<<G4endl;
63  */
64 }
G4TrackingManager * fpTrackingManager
void SetUserTrackInformation(G4VUserTrackInformation *aValue)
void SetTrajectory(G4VTrajectory *aTrajectory)

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