4#ifndef __KVGEONODEITERATOR_H
5#define __KVGEONODEITERATOR_H
8#include "KVGeoDetectorNode.h"
9#include "KVGeoDNTrajectory.h"
#define ClassDef(name, id)
Base class for KaliVeda framework.
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
Bool_t exclude_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
virtual ~KVGeoNodeIterator()
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