1 #ifndef __RAT_TrackCursor__
2 #define __RAT_TrackCursor__
4 #include <RAT/TrackNode.hh>
22 bool GetVerbose() {
return fVerbose; };
23 void SetVerbose(
bool verbose =
true) { fVerbose = verbose; };
27 TrackNode *Prev()
const {
return fCur->GetPrev(); };
29 TrackNode *Next()
const {
return fCur->GetNext(); };
32 int StepCount()
const {
return TrackEnd()->
GetStepID() + 1; };
34 int ChildCount()
const {
return fCur->child.size(); };
36 int TrackChildCount()
const;
41 double TrackLength()
const;
42 bool IsTrackStart()
const {
return fCur->
IsTrackStart(); };
43 bool IsTrackEnd()
const {
return fCur->
IsTrackEnd(); };
60 void PrintTrack()
const;
62 static std::string PrintTrackIDs(
TrackNode *node);
63 static std::string Print(
TrackNode *node);
64 static std::string PrintTrack(
TrackNode *node);
73 TrackNode *FindNextParticle(
const std::string &particleName);
84 std::string fParticleName;
Definition: TrackCursor.hh:15
Definition: TrackNode.hh:8
virtual int GetStepID() const
Definition: TrackNode.hh:36
virtual const std::string & GetParticleName() const
Definition: TrackNode.hh:47
virtual bool IsTrackStart() const
Definition: TrackNode.hh:21
virtual bool IsTrackEnd() const
Definition: TrackNode.hh:25
Definition: TrackCursor.hh:83
Definition: TrackCursor.hh:10
Definition: CCCrossSecMessenger.hh:29