Belle II Software
release-08-01-10
|
Class to get the neighbours for a given cell id. More...
#include <ECLNeighbours.h>
Public Member Functions | |
ECLNeighbours (const std::string &neighbourDef, const double par, const bool sorted=false) | |
Constructor: Fix number of neighbours ("N") in the seed theta ring, fraction cross ("F"), radius ("R") with par = n or par = fraction (0.1-1.0) or par = radius [cm]. More... | |
~ECLNeighbours () | |
Destructor. | |
const std::vector< short int > & | getNeighbours (short int cid) const |
Return the neighbours for a given cell ID. | |
short int | getCrystalsPerRing (const short int thetaid) const |
return number of crystals in a given theta ring | |
Private Member Functions | |
void | initializeN (const int nneighbours, const bool sorted=false) |
initialize the mask neighbour list. | |
void | initializeNC (const int nneighbours) |
initialize the mask neighbour list, remove corners. | |
void | initializeNLegacy (const int nneighbours) |
initialize the mask neighbour list, legacy code. | |
void | initializeNCLegacy (const int nneighbours, const int corners) |
initialize the mask neighbour list, remove corners, legacy code. | |
void | initializeR (const double radius) |
initialize the radius neighbour list. | |
void | initializeF (const double fraction) |
initialize the fractional cross neighbour list. | |
short int | decreasePhiId (const short int phiid, const short int thetaid, const short int n) |
return the previous phi id. | |
short int | increasePhiId (const short int phiid, const short int thetaid, const short int n) |
return the next phi id. | |
std::vector< short int > | getPhiIdsInBetween (const short int phiInc, const short int phiDec, const short int theta) |
return a list of phi ids between two phi ids | |
std::vector< short int > | getPhiIdsInBetweenC (const short int phiInc, const short int phiDec, const short int theta, const int corners) |
return a list of phi ids between two phi ids minus edges | |
double | getDistance (const double alpha, const double R) |
return the chord length between cells | |
Private Attributes | |
std::vector< std::vector< short int > > | m_neighbourMap |
list of list of neighbour cids. | |
std::vector< std::vector< short int > > | m_neighbourMapTemp |
temporary list of list of neighbour cids. | |
const short | m_crystalsPerRing [69] |
Number of crystals in each theta ring. More... | |
Class to get the neighbours for a given cell id.
Definition at line 25 of file ECLNeighbours.h.
ECLNeighbours | ( | const std::string & | neighbourDef, |
const double | par, | ||
const bool | sorted = false |
||
) |
Constructor: Fix number of neighbours ("N") in the seed theta ring, fraction cross ("F"), radius ("R") with par = n or par = fraction (0.1-1.0) or par = radius [cm].
The sorted parameter will sort ascending thetaid and clockwise phi for the "N" case.
Definition at line 27 of file ECLNeighbours.cc.
|
private |
Number of crystals in each theta ring.
Definition at line 49 of file ECLNeighbours.h.