Loading...
Searching...
No Matches
Public Member Functions | List of all members
LXeTrackingAction Class Reference

#include <Doxymodules_optical.h>

Inheritance diagram for LXeTrackingAction:
G4UserTrackingAction

Public Member Functions

 LXeTrackingAction ()=default
 
 ~LXeTrackingAction ()=default
 
void PreUserTrackingAction (const G4Track *) override
 
void PostUserTrackingAction (const G4Track *) override
 

Detailed Description

Definition at line 68 of file Doxymodules_optical.h.

Constructor & Destructor Documentation

◆ LXeTrackingAction()

LXeTrackingAction::LXeTrackingAction ( )
default

◆ ~LXeTrackingAction()

LXeTrackingAction::~LXeTrackingAction ( )
default

Member Function Documentation

◆ PreUserTrackingAction()

void LXeTrackingAction::PreUserTrackingAction ( const G4Track aTrack)
override

Definition at line 43 of file LXeTrackingAction.cc.

44{
45 // Let this be up to the user via vis.mac
46 // fpTrackingManager->SetStoreTrajectory(true);
47
48 // Use custom trajectory class
49 fpTrackingManager->SetTrajectory(new LXeTrajectory(aTrack));
50
51 // This user track information is only relevant to the photons
52 fpTrackingManager->SetUserTrackInformation(new LXeUserTrackInformation);
53}

◆ PostUserTrackingAction()

void LXeTrackingAction::PostUserTrackingAction ( const G4Track aTrack)
override

Definition at line 57 of file LXeTrackingAction.cc.

58{
59 auto trajectory = (LXeTrajectory*) fpTrackingManager->GimmeTrajectory();
60 auto trackInformation =
61 (LXeUserTrackInformation*) aTrack->GetUserInformation();
62
63 // Let's choose to draw only the photons that hit the sphere and a pmt
64 if(aTrack->GetDefinition() == G4OpticalPhoton::OpticalPhotonDefinition())
65 {
66 const G4VProcess* creator = aTrack->GetCreatorProcess();
67 if(creator && creator->GetProcessName() == "OpWLS")
68 {
69 trajectory->WLS();
70 trajectory->SetDrawTrajectory(true);
71 }
72
74 {
75 if((trackInformation->GetTrackStatus() & hitPMT) &&
76 (trackInformation->GetTrackStatus() & hitSphere))
77 {
78 trajectory->SetDrawTrajectory(true);
79 }
80 }
81 else
82 {
83 if(trackInformation->GetTrackStatus() & hitPMT)
84 trajectory->SetDrawTrajectory(true);
85 }
86 }
87 // draw all other (not optical photon) trajectories
88 else
89 trajectory->SetDrawTrajectory(true);
90
91 if(trackInformation->GetForceDrawTrajectory())
92 trajectory->SetDrawTrajectory(true);
93}

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

Applications | User Support | Publications | Collaboration