|
Data Structures |
struct | _MatchVal_bf |
| The return value of the various 'match' routines, expressed as bit fields. More...
|
union | _MatchVal |
| Union of the bit field representation of the match routine's status word and a 32-bit signed integer. More...
|
Defines |
#define | REAL_TOLERANCES |
#define | ROUND |
#define | _PRINT_TITLE(_tower, _xy) |
| Prints a header line if EDM is active and the print level is DEBUG or lower. otherwise is a NOP.
|
#define | _PRINT_CHK(_lay, _top, _mid, _bot, _zex, _pred, _res, _tol) |
| Prints the status of checking a middle point when finding a seed projection if EDM is active and the print level is DEBUG or lower; otherwise is a NOP.
|
#define | _PRINT_EXTI(_msk) |
| Prints a line introducing the beginning of looking for additional layers to extend an existing projection, if EDM is active and the print level is DEBUG or lower; otherwise is a NOP.
|
#define | _PRINT_EXT(_lay, _top, _mid,_bot, _zex, _pred, _res, _tol) |
| Prints the status of checking a point when extending a projection if EDM is active and the print level is DEBUG or lower; otherwise is a NOP.
|
#define | _PRINT_EXTX(_o, _lay, _a, _b, _t, _zex, _pred, _res, _tol) |
| Prints the status of checking a point when extending a projection if EDM is active and the print level is DEBUG or lower; otherwise is a NOP.
|
#define | _PRINT_SKIP(_lay, _top, _mid,_zex, _pred, _dir) |
| Prints the status of checking a point when extending a projection if EDM is active and the print level is DEBUG or lower; otherwise is a NOP.
|
#define | _PRINT_SPAN(_lay, _top, _mid,_pred, _dx, _maxStrip, _dir) |
| Prints the status of checking a point when extending a projection to the next tower if EDM is active and the print level is DEBUG or lower; otherwise is a NOP.
|
#define | PRINT_EXTT(_twr, _xy, _dir) |
#define | _PRINT_TKRFIND_BEG(_towerId) |
| Prints a header line. This is used when debugging these routines and is only defined if the symbol DEBUG is defined.
|
#define | _PRINT_TKRFIND_END |
#define | EXTTWR_PRINT(_layer, _prediction, _offset, _topStrip, _dStrip) |
#define | x -1 |
#define | a 10 |
#define | b 11 |
#define | c 12 |
#define | d 13 |
#define | e 14 |
#define | f 15 |
#define | V(_t, _v) ((_v != x) ? _v : _t) |
#define | M(_t) ((_t != x) ? (1 << (31 - (_t))) : 0) |
#define | MAPXLO1(_20, _21, _22,_10, _11, _12,_00, _01, _02) |
#define | MAPYLO1(_20, _21, _22,_10, _11, _12,_00, _01, _02) |
#define | MAPXMID1(_20, _21, _22,_10, _11, _12,_00, _01, _02) |
#define | MAPYMID1(_20, _21, _22,_10, _11, _12,_00, _01, _02) |
#define | MAPXHI1(_20, _21, _22,_10, _11, _12,_00, _01, _02) |
#define | MAPYHI1(_20, _21, _22,_10, _11, _12,_00, _01, _02) |
#define | MAPSXLO(_020, _021, _022, _120, _121, _122, _220, _221, _222, _320, _321, _322,_010, _011, _012, _110, _111, _112, _210, _211, _212, _310, _311, _312,_000, _001, _002, _100, _101, _102, _200, _201, _202, _300, _301, _302) |
#define | MAPSXMID(_020, _021, _022, _120, _121, _122, _220, _221, _222, _320, _321, _322,_010, _011, _012, _110, _111, _112, _210, _211, _212, _310, _311, _312,_000, _001, _002, _100, _101, _102, _200, _201, _202, _300, _301, _302) |
#define | MAPSXHI(_020, _021, _022, _120, _121, _122, _220, _221, _222, _320, _321, _322,_010, _011, _012, _110, _111, _112, _210, _211, _212, _310, _311, _312,_000, _001, _002, _100, _101, _102, _200, _201, _202, _300, _301, _302) |
#define | MAPSYLO(_020, _021, _022, _120, _121, _122, _220, _221, _222, _320, _321, _322,_010, _011, _012, _110, _111, _112, _210, _211, _212, _310, _311, _312,_000, _001, _002, _100, _101, _102, _200, _201, _202, _300, _301, _302) |
#define | MAPSYMID(_020, _021, _022, _120, _121, _122, _220, _221, _222, _320, _321, _322,_010, _011, _012, _110, _111, _112, _210, _211, _212, _310, _311, _312,_000, _001, _002, _100, _101, _102, _200, _201, _202, _300, _301, _302) |
#define | MAPSYHI(_020, _021, _022, _120, _121, _122, _220, _221, _222, _320, _321, _322,_010, _011, _012, _110, _111, _112, _210, _211, _212, _310, _311, _312,_000, _001, _002, _100, _101, _102, _200, _201, _202, _300, _301, _302) |
#define | TOLERANCE 10 |
#define | SWAP(_x, _y) (_x ^= _y, _y ^= _x, _x ^= _y) |
#define | SEARCH_M_FOUND 0x80000000 |
#define | SEARCH_M_ON 0x40000000 |
#define | SEARCH_M_OFF_LO 0x20000000 |
#define | SEARCH_M_OFF_HI 0x10000000 |
#define | SEARCH_M_OFF ( SEARCH_M_OFF_LO | SEARCH_M_OFF_HI ) |
#define | AVAILABLE_M_IGNORE_OFF_TWR (SEARCH_M_OFF >> 16) |
#define | AVAILABLE_M_OFF_TWR (0x80000000 >> 2) |
#define | isSearchOffTwrOnGray(_s) (_s & SEARCH_M_OFF_ON) |
#define | searchFoundHits(_s) (_s < 0) |
#define | isSearchOnTwr(_s) (_s & SEARCH_M_ON) |
#define | isSearchOffTwrLo(_s) (_s & SEARCH_M_OFF_LO) |
#define | isSearchOffTwrHi(_s) (_s & SEARCH_M_OFF_HI) |
#define | isSearchOffTwr(_s) (_s & SEARCH_M_OFF) |
Typedefs |
typedef _MatchVal_bf | MatchVal_bf |
| Typedef for struct _MatchVal_bf.
|
typedef _MatchVal | MatchVal |
| Typedef for union _MatchVal.
|
Functions |
static __inline unsigned int | getToleranceFind (const unsigned char *tolerances, int layerNum) |
static __inline unsigned int | getToleranceExtend1 (const unsigned char *tolerances, int layerNum) |
static __inline unsigned int | getToleranceExtend2 (const unsigned char *tolerances, int layerNum) |
static __inline int | _abs (int x) |
| Returns the absolute value of the signed integer x.
|
static __inline int | project (int top, int bot, int dz) |
| Predicts the middle strip address between the top and bot strip addresses.
|
static __inline int | projectDx (int x0, int dx, int dz) |
| A strict linear projection from the point p0 using a slope of dx / dz. (Note that dz is really 1/dz, thus avoiding a cycle soaking divide.).
|
static __inline int | projectDxm (int x0, int dx, int dz) |
| A strict linear projection from the point p0 using a slope of dx / dz. (Note that dz is really 1/dz, thus avoiding a cycle soaking divide.).
|
static __inline int | projectDxp (int x0, int dx, int dz) |
| A strict linear projection from the point p0 using a slope of dx / dz. (Note that dz is really 1/dz, thus avoiding a cycle soaking divide.).
|
static __inline int | projectMid (int top, int bot, int dz) |
| Another projection function, used to predict a point in a skipped layer.
|
static MatchVal | findMatch (unsigned int tolerance, int prediction, int tgtMsk, const EDR_tkrCluster *tgtClusters, int tgtLayerNum, int aStrip, int bStrip, int dz, int order) |
| Finds the best match when extending a projection down.
|
static __inline MatchVal | findMatchTop (unsigned int tolerance, int prediction, int topMsk, const EDR_tkrCluster *topClusters, int topLayerNum, int midStrip, int botStrip, int dz) |
| Finds the best match when extending a projection up.
|
static __inline MatchVal | findMatchMid (unsigned int tolerance, int prediction, int midMsk, const EDR_tkrCluster *midClusters, int topLayerNum, int topStrip, int botStrip, int dz) |
| Finds the best match when projecting to a middle layer.
|
static __inline MatchVal | findMatchBot (unsigned int tolerance, int prediction, int midMsk, const EDR_tkrCluster *midClusters, int botLayerNum, int topStrip, int botStrip, int dz) |
| Finds the best match when extending a projection down.
|
static __inline void | storePrj (TFC_prj *prj, int twr, int topLayerNum, int offset, int topStrip, int topIdx, int midStrip, int midIdx, int botStrip, int botIdx) |
| Simple routine to store the initial parameters describing a projection.
|
static __inline void | storePrms (TFC_prj *prj, const TFC_geometryTkrZ *geoz, const TFC_geometryTkrOffset_t *offsets) |
| Fills in the parameters describing the projection.
|
static int | findPrj (TFC_prj *prj, const TFC_prj *prjmax, int towerId, int xy, int layers, int elayers, int topLayerNum, EDR_tkrLayer *top, const TFC_geometryTkrXY *geoxy, const TFC_tolerances_xy *tolerances, EDR_tkr *tkr, EDR_tkrTower *twr) |
| Looks for projections in the specified tower starting at topLayerNum.
|
static unsigned int | extendTower (TFC_prj *prjs, EDR_tkr *tkr, int tower, int xy, const TFC_geometryTkrXY *geoxy, const TFC_tolerances_xy *tolerances) |
static unsigned int | extendTowerDir (TFC_prj *prj, EDR_tkr *tkr, int dir, int tower, int xy, int allowed, const unsigned short int *zextends, const unsigned short int *zmids, const TFC_geometryTkrXY *geoxy, const TFC_tolerances_xy *tolerances, const unsigned int neighbor_maps[3][16]) |
static __inline int | searchLayers (TFC_prj *prj, int dir, int tower, int layerMap, EDR_tkrLayer *bot, int botLayer, int layerCnt, int skipLimit, const unsigned short int *zextends, const unsigned short int *zmids, int topStrip, int midStrip, int maxStrip, const TFC_tolerances_xy *tolerances) |
int | TFC_prjsSizeof (void) |
| Returns the size of a projections results record.
|
unsigned int | TFC_prjsConstruct (TFC_prjs *projections) |
| The TFC_prjs constructor.
|
unsigned int | TFC_prjsDestruct (TFC_prjs *projections) |
| The TFC_prjs destructor.
|
void | TFC_prjsReset (TFC_prjs *projections) |
| Resets the prjs structure, effectively cleaning it out for the next event.
|
unsigned int | TFC_prjFind (TFC_prjs *projections, const TFC_geometryTkr *geo, const TFC_tolerances *tolerances, EDR_tkr *tkr, unsigned int tmsk) |
int | TFC_prjTowerFind (TFC_prj *prjs, const TFC_prj *prjmax, const TFC_geometryTkr *geo, const TFC_tolerances *tolerances, EDR_tkr *tkr, int towerId) |
| Driver routine which looks for X and Y projections in the specified tower.
|
static __inline int | span_cnt (int midLayer, int dir) |
Variables |
static const unsigned int | NeighborMaps_XY [2][3][16] |