Belle II Software  release-06-01-15
ECLNeighbours Class Reference

Class to get the neighbours for a given cell id. More...

#include <ECLNeighbours.h>

Collaboration diagram for ECLNeighbours:

Public Member Functions

 ECLNeighbours (const std::string &neighbourDef, const double par)
 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].
 
 ~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)
 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...
 

Detailed Description

Class to get the neighbours for a given cell id.

Definition at line 23 of file ECLNeighbours.h.

Member Data Documentation

◆ m_crystalsPerRing

const short m_crystalsPerRing[69]
private
Initial value:
= {
48, 48, 64, 64, 64, 96, 96, 96, 96, 96, 96, 144, 144,
144, 144, 144, 144, 144, 144, 144,
144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
144, 144, 144, 144, 144, 144, 144, 144, 144,
144, 144, 96, 96, 96, 96, 96, 64, 64, 64
}

Number of crystals in each theta ring.

Definition at line 47 of file ECLNeighbours.h.


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