1 #ifndef __RAT_TrackNode__
2 #define __RAT_TrackNode__
4 #include <RAT/DS/MCTrackStep.hh>
15 if (next)
delete next;
16 for (
unsigned i = 0; i < child.size(); i++)
17 if (child[i])
delete child[i];
22 virtual void SetTrackStart(
bool state =
true) { trackStart = state; };
33 virtual void SetTrackID(
int _trackID) { trackID = _trackID; };
37 virtual void SetStepID(
int _stepID) { stepID = _stepID; };
41 virtual void SetPDGCode(
int _pdgcode) { pdgcode = _pdgcode; };
48 virtual void SetParticleName(
const std::string &_particleName) { particleName = _particleName; }
52 virtual TrackNode *GetPrev()
const {
return prev; };
53 virtual void SetPrev(TrackNode *_prev) { prev = _prev; };
55 virtual TrackNode *GetNext()
const {
return next; };
56 virtual void SetNext(TrackNode *_next) { next = _next; };
58 std::vector<TrackNode *> child;
62 void AddNext(TrackNode *n) {
64 n->trackStart =
false;
67 void AddChild(TrackNode *c) {
77 ClassDef(TrackNode, 2);
84 std::string particleName;
Definition: MCTrackStep.hh:29
Definition: TrackNode.hh:8
virtual int GetTrackID() const
Definition: TrackNode.hh:32
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
virtual int GetPDGCode() const
Definition: TrackNode.hh:40
Definition: CCCrossSecMessenger.hh:29