Loading...
Searching...
No Matches
fastjet::DynamicNearestNeighbours Class Referenceabstract

More...

`#include <fastjet/internal/DynamicNearestNeighbours.hh>`

Inheritance diagram for fastjet::DynamicNearestNeighbours:
[legend]

## Public Member Functions

virtual int | NearestNeighbourIndex (const int ii) const =0
| Dummy initialiser — does nothing!
virtual double | NearestNeighbourDistance (const int ii) const =0
| Returns the distance to the nearest neighbour of point labelled by index ii (assumes ii is valid).
virtual bool | Valid (const int index) const =0
| Returns true iff the given index corresponds to a point that exists in the DNN structure (meaning that it has been added, and not removed in the meantime).
virtual void | RemoveAndAddPoints (const std::vector< int > &indices_to_remove, const std::vector< EtaPhi > &points_to_add, std::vector< int > &indices_added, std::vector< int > &indices_of_updated_neighbours)=0

remove the points labelled by the std::vector indices_to_remove, and add the points specified by the std::vector points_to_add (corresponding indices will be calculated automatically); the idea behind this routine is that the points to be added will somehow be close to the one or other of the points being removed and this can be used by the implementation to provide hints for inserting the new points in whatever structure it is using.

void | RemovePoint (const int index, std::vector< int > &indices_of_updated_neighbours)
| Remove the point labelled by index and return the list of points whose nearest neighbours have changed in the process.
void | RemoveCombinedAddCombination (const int index1, const int index2, const EtaPhi &newpoint, int &index3, std::vector< int > &indices_of_updated_neighbours)
| Removes the two points labelled by index1, index2 and adds in the a point with coordinates newpoint; it returns an index for the new point (index 3) and a std::vector of indices of neighbours whose nearest neighbour has changed (the list includes index3, i.e.
virtual | ~DynamicNearestNeighbours ()
| destructor – here it is now implemented

## Detailed Description

Definition at line 98 of file DynamicNearestNeighbours.hh.

## Constructor & Destructor Documentation

## ~DynamicNearestNeighbours()

virtual fastjet::DynamicNearestNeighbours::~DynamicNearestNeighbours | ( |  | ) |

inline virtual

destructor – here it is now implemented

Definition at line 174 of file DynamicNearestNeighbours.hh.

## Member Function Documentation

## NearestNeighbourIndex()

virtual int fastjet::DynamicNearestNeighbours::NearestNeighbourIndex | ( | const int | ii | ) | const

pure virtual

Dummy initialiser — does nothing!

Initialiser — sets up the necessary structures to allow efficient nearest-neighbour finding on the std::vector<EtaPhi> of input points Returns the index of the nearest neighbour of point labelled by ii (assumes ii is valid)

Implemented in fastjet::Dnn2piCylinder, fastjet::Dnn3piCylinder, fastjet::Dnn4piCylinder, and fastjet::DnnPlane.

## NearestNeighbourDistance()

virtual double fastjet::DynamicNearestNeighbours::NearestNeighbourDistance | ( | const int | ii | ) | const

pure virtual

Returns the distance to the nearest neighbour of point labelled by index ii (assumes ii is valid).

Implemented in fastjet::Dnn2piCylinder, fastjet::Dnn3piCylinder, fastjet::Dnn4piCylinder, and fastjet::DnnPlane.

## Valid()

virtual bool fastjet::DynamicNearestNeighbours::Valid | ( | const int | index | ) | const

pure virtual

Returns true iff the given index corresponds to a point that exists in the DNN structure (meaning that it has been added, and not removed in the meantime).

Implemented in fastjet::Dnn2piCylinder, fastjet::Dnn3piCylinder, fastjet::Dnn4piCylinder, and fastjet::DnnPlane.

## RemoveAndAddPoints()

virtual void fastjet::DynamicNearestNeighbours::RemoveAndAddPoints | ( | const std::vector< int > & | indices_to_remove,
|  | const std::vector< EtaPhi > & | points_to_add,
|  | std::vector< int > & | indices_added,
|  | std::vector< int > & | indices_of_updated_neighbours )

pure virtual

remove the points labelled by the std::vector indices_to_remove, and add the points specified by the std::vector points_to_add (corresponding indices will be calculated automatically); the idea behind this routine is that the points to be added will somehow be close to the one or other of the points being removed and this can be used by the implementation to provide hints for inserting the new points in whatever structure it is using.

In a kt-algorithm the points being added will be a result of a combination of the points to be removed – hence the proximity is (more or less) guaranteed.

Implemented in fastjet::Dnn2piCylinder, fastjet::Dnn3piCylinder, fastjet::Dnn4piCylinder, and fastjet::DnnPlane.

## RemovePoint()

void fastjet::DynamicNearestNeighbours::RemovePoint | ( | const int | index,
|  | std::vector< int > & | indices_of_updated_neighbours )

inline

Remove the point labelled by index and return the list of points whose nearest neighbours have changed in the process.

Definition at line 140 of file DynamicNearestNeighbours.hh.

## RemoveCombinedAddCombination()

void fastjet::DynamicNearestNeighbours::RemoveCombinedAddCombination | ( | const int | index1,
|  | const int | index2,
|  | const EtaPhi & | newpoint,
|  | int & | index3,
|  | std::vector< int > & | indices_of_updated_neighbours )

inline

Removes the two points labelled by index1, index2 and adds in the a point with coordinates newpoint; it returns an index for the new point (index 3) and a std::vector of indices of neighbours whose nearest neighbour has changed (the list includes index3, i.e.

the new point).

Definition at line 156 of file DynamicNearestNeighbours.hh.

The documentation for this class was generated from the following file:

- include/fastjet/internal/DynamicNearestNeighbours.hh