KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
KVGeoNodeIterator.h
1
3
4#ifndef __KVGEONODEITERATOR_H
5#define __KVGEONODEITERATOR_H
6
7#include "KVBase.h"
8#include "KVGeoDetectorNode.h"
9#include "KVGeoDNTrajectory.h"
10
37class KVGeoNodeIterator : public KVBase {
45
64
65
66public:
77
79 {
80 delete next_trajectory;
81 }
82
83 void ExcludeStartNode(Bool_t u = kTRUE)
84 {
87 }
88 void IterateBackwards(Bool_t i = kTRUE)
89 {
92 }
93
106
107 void Reset(KVGeoDetectorNode* start = nullptr, KVGeoDNTrajectory* trajectory = nullptr);
108 void ResetTrajectory(KVGeoDNTrajectory* trajectory = nullptr);
109
110 ClassDef(KVGeoNodeIterator, 0) //Iterator over geometry nodes/trajectories
111};
112
113#endif
bool Bool_t
constexpr Bool_t kFALSE
#define ClassDef(name, id)
Base class for KaliVeda framework.
Definition KVBase.h:142
Path taken by particles through multidetector geometry.
void IterateFrom(const KVGeoDetectorNode *node0=nullptr) const
void IterateBackFrom(const KVGeoDetectorNode *node0=nullptr) const
KVGeoDetectorNode * GetNextNode() const
Information on relative positions of detectors & particle trajectories.
Iterate from node to node along trajectories in array geometry.
KVGeoDNTrajectory * current_trajectory
void IterateBackwards(Bool_t i=kTRUE)
KVGeoDetectorNode * start_node
void ResetTrajectory(KVGeoDNTrajectory *trajectory=nullptr)
KVGeoDetectorNode * current_node
void begin_iteration_on_next_trajectory() const
KVGeoDNTrajectory * iter_on_traj
limit iteration to this trajectory, if given
void ExcludeStartNode(Bool_t u=kTRUE)
void get_next_node_on_current_trajectory() const
KVGeoNodeIterator(KVGeoDetectorNode *start, KVGeoDNTrajectory *trajectory=nullptr)
void Reset(KVGeoDetectorNode *start=nullptr, KVGeoDNTrajectory *trajectory=nullptr)
KVGeoDetectorNode * operator()(void) const
start