30 ECLNeighbours(
const std::string& neighbourDef,
const double par,
const bool sorted =
false);
36 const std::vector<short int>&
getNeighbours(
short int cid)
const;
50 48, 48, 64, 64, 64, 96, 96, 96, 96, 96, 96, 144, 144,
51 144, 144, 144, 144, 144, 144, 144,
52 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
53 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
54 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
55 144, 144, 144, 144, 144, 144, 144, 144, 144,
56 144, 144, 96, 96, 96, 96, 96, 64, 64, 64
61 void initializeN(
const int nneighbours,
const bool sorted =
false);
79 short int decreasePhiId(
const short int phiid,
const short int thetaid,
const short int n);
82 short int increasePhiId(
const short int phiid,
const short int thetaid,
const short int n);
85 std::vector<short int>
getPhiIdsInBetween(
const short int phiInc,
const short int phiDec,
const short int theta);
88 std::vector<short int>
getPhiIdsInBetweenC(
const short int phiInc,
const short int phiDec,
const short int theta,
Class to get the neighbours for a given cell id.
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
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
const short m_crystalsPerRing[69]
Number of crystals in each theta ring.
void initializeNCLegacy(const int nneighbours, const int corners)
initialize the mask neighbour list, remove corners, legacy code.
void initializeF(const double fraction)
initialize the fractional cross neighbour list.
void initializeR(const double radius)
initialize the radius neighbour list.
std::vector< std::vector< short int > > m_neighbourMapTemp
temporary list of list of neighbour cids.
short int increasePhiId(const short int phiid, const short int thetaid, const short int n)
return the next phi id.
std::vector< std::vector< short int > > m_neighbourMap
list of list of neighbour cids.
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
void initializeNC(const int nneighbours)
initialize the mask neighbour list, remove corners.
~ECLNeighbours()
Destructor.
void initializeN(const int nneighbours, const bool sorted=false)
initialize the mask neighbour list.
void initializeNLegacy(const int nneighbours)
initialize the mask neighbour list, legacy code.
double getDistance(const double alpha, const double R)
return the chord length between cells
short int decreasePhiId(const short int phiid, const short int thetaid, const short int n)
return the previous phi id.
Abstract base class for different kinds of events.