37 #ifndef EGS_TRACK_SCORING_
38 #define EGS_TRACK_SCORING_
46 #ifdef BUILD_TRACK_SCORING_DLL
47 #define EGS_TRACK_SCORING_EXPORT __declspec(dllexport)
49 #define EGS_TRACK_SCORING_EXPORT __declspec(dllimport)
51 #define EGS_TRACK_SCORING_LOCAL
55 #ifdef HAVE_VISIBILITY
56 #define EGS_TRACK_SCORING_EXPORT __attribute__ ((visibility ("default")))
57 #define EGS_TRACK_SCORING_LOCAL __attribute__ ((visibility ("hidden")))
59 #define EGS_TRACK_SCORING_EXPORT
60 #define EGS_TRACK_SCORING_LOCAL
109 if (m_pts->isScoringParticle(np)) {
114 m_pts->stopScoringParticle(np);
118 int q = app->top_p.q;
119 if ((q == 0 && m_score_photons) ||
120 (q == -1 && m_score_electrons) ||
121 (q == 1 && m_score_positrons)) {
122 m_pts->startNewTrack(np);
140 if (ncase != m_lastCase) {
144 if (ncase < m_start || ncase > m_stop) {
152 void setScorePhotons(
bool score) {
153 m_score_photons = score;
155 void setScoreElectrons(
bool score) {
156 m_score_electrons = score;
158 void setScorePositrons(
bool score) {
159 m_score_positrons = score;
161 void setFirstEvent(EGS_I64 first) {
164 void setLastEvent(EGS_I64 last) {
167 void setBufferSize(
int size) {
170 void setFileNameExtra(
const string &extra) {
bool m_score_positrons
Score positron tracks?
EGS_AusgabObject interface class header file.
bool m_score_photons
Score photon tracks?
virtual int processEvent(EGS_Application::AusgabCall iarg)=0
Process an ausgab call for event iarg.
bool m_didScore
Did the last event score tracks?
EGS_I64 m_lastCase
The event set via setCurrentCase()
AusgabCall
Possible calls to the user scoring function ausgab().
EGS_I64 m_start
Minimum event index for which to score tracks.
EGS_ParticleTrack class header file.
bool m_score
Should tracks be scored?
virtual bool needsCall(EGS_Application::AusgabCall iarg) const
Is the ausgab call iarg relevant for this object?
string m_fnExtra
String to append to output file name.
EGS_I64 m_nScore
Number of events for which tracks were scored.
virtual void reportResults()
Report results.
Structure describing the particle being tracked.
Structure to store the data for each interaction along the track.
A class that stores all the tracks in a simulation.
EGS_I64 m_stop
Maximum event index for which to score tracks.
A track scoring object: header.
int m_bufSize
The track container size.
virtual void setCurrentCase(EGS_I64 ncase)
Set the current event.
virtual void setApplication(EGS_Application *App)
Set the application this object belongs to.
EGS_Application class header file.
Base class for advanced EGSnrc C++ applications.
bool m_score_electrons
Score electron tracks?