1 #ifndef RECOCALOTOOLS_NAVIGATION_CALONAVIGATOR_H
2 #define RECOCALOTOOLS_NAVIGATION_CALONAVIGATOR_H 1
30 void setHome(
const T& startingPoint);
115 if(deltaX > 0)
east();
121 if(deltaY > 0)
north();
138 startingPoint_=startingPoint;
145 currentPoint_=startingPoint_;
151 if (myTopology_ == 0)
152 myTopology_=topology;
void setHome(const T &startingPoint)
set the starting position
void home() const
move the navigator back to the starting point
virtual T west() const
move the navigator west
virtual T up() const
move the navigator west
virtual std::vector< DetId > west(const DetId &id) const =0
const CaloSubdetectorTopology * myTopology_
virtual T north() const
move the navigator north
T pos() const
get the current position
virtual T east() const
move the navigator east
virtual T down() const
move the navigator west
CaloNavigator()
Default constructor.
CaloNavigator(const T &home, const CaloSubdetectorTopology *topology)
virtual T offsetBy(int deltaX, int deltaY) const
Free movement of arbitray steps.
void setTopology(const CaloSubdetectorTopology *)
set the starting position
T operator*() const
get the current position
const CaloSubdetectorTopology * getTopology() const
set the starting position
virtual std::vector< DetId > north(const DetId &id) const =0
virtual std::vector< DetId > up(const DetId &id) const =0
virtual ~CaloNavigator()
Default constructor.
CaloNavigator(const T &home)
virtual std::vector< DetId > south(const DetId &id) const =0
virtual T south() const
move the navigator south
tuple size
Write out results.
virtual std::vector< DetId > east(const DetId &id) const =0
virtual std::vector< DetId > down(const DetId &id) const =0