24 #ifndef COM_DAFER45_TBTK_STATE_TREE_NODE
25 #define COM_DAFER45_TBTK_STATE_TREE_NODE
27 #include "TBTK/AbstractState.h"
28 #include "TBTK/StateSet.h"
43 std::initializer_list<double> center,
50 std::vector<double> center,
57 const StateSet &stateSet,
59 double centerShiftMultiplier = 3.14
66 void add(AbstractState *state);
70 std::vector<const AbstractState*>* getOverlappingStates(
71 std::initializer_list<double> coordinates,
77 std::vector<const AbstractState*>* getOverlappingStates(
78 std::vector<double> coordinates,
83 const std::vector<double>& getCoordinates()
const;
86 double getRadius()
const;
89 std::vector<StateTreeNode*> stateTreeNodes;
91 std::vector<AbstractState*> states;
94 std::vector<double> center;
101 static constexpr
double ROUNDOFF_MARGIN_MULTIPLIER = 0.99;
108 const int numSpacePartitions;
115 bool addRecursive(AbstractState* state);
120 void getOverlappingStatesRecursive(
121 std::vector<const AbstractState*>* overlappingStates,
122 std::vector<double> coordinates,