Go to the documentation of this file.
4 #pragma GCC diagnostic ignored "-Weffc++"
14 #define errorTxCoeff 4.0
15 #define errorTxCoeffSq errorTxCoeff* errorTxCoeff
16 #define errorTyCoeff 4.0
17 #define errorTyCoeffSq errorTyCoeff* errorTyCoeff
64 #endif //MAKE_EFF_CALC
66 #ifdef REMEMBER_CLUSTERED_RAYS_IN_POINTS
67 LxRay* leftClusteredRay;
68 LxRay* rightClusteredRay;
69 #endif //REMEMBER_CLUSTERED_RAYS_IN_POINTS
79 bool isArtificial =
false)
93 #ifdef REMEMBER_CLUSTERED_RAYS_IN_POINTS
95 , rightClusteredRay(0)
108 struct LxKalmanParams {
125 std::list<LxRay*> neighbourhood;
126 std::list<LxPoint*> clusterPoints;
127 #endif //CLUSTER_MODE
130 LxKalmanParams kalman;
168 bool isArtificial =
false) {
170 new LxPoint(
x,
y, z, dx, dy, dz,
this, hitId, isArtificial);
186 typedef void* kdt_rays_handle;
187 #endif //CLUSTER_MODE
192 kdt_rays_handle raysHandle;
193 std::vector<std::list<LxRay*>*> clusters[2 *
LXLAYERS];
194 kdt_rays_handle clusteredRaysHandle;
195 std::list<LxPoint*> clusteredPoints;
204 #endif //CLUSTER_MODE
222 #ifdef USE_KALMAN_FIT
224 #endif //USE_KALMAN_FIT
237 return layers[layerNumber]->AddPoint(hitId,
x,
y, z, dx, dy, dz);
244 void InsertClusterRay(Int_t levels, Int_t cardinality,
LxRay* clusterRay);
245 #endif //CLUSTER_MODE
253 #ifdef LX_EXT_LINK_SOPH
255 #endif //LX_EXT_LINK_SOPH
261 #ifdef LX_EXT_LINK_SOPH
270 #ifdef LX_EXT_LINK_SOPH
272 #else //LX_EXT_LINK_SOPH
274 #endif //LX_EXT_LINK_SOPH
277 #ifdef CALC_LINK_WITH_STS_EFF
279 #endif //CALC_LINK_WITH_STS_EFF
289 #ifdef USE_KALMAN_FIT
291 #endif //USE_KALMAN_FIT
301 #ifdef LX_EXT_LINK_SOPH
303 #endif //LX_EXT_LINK_SOPH
348 return stations[stationNumber]->AddPoint(
349 layerNumber, hitId,
x,
y, z, dx, dy, dz);
356 void ConnectNeighbours2();
357 void BuildCandidates2(
LxRay* ray,
359 std::list<LxTrackCandidate*>& candidates,
362 #endif //CLUSTER_MODE
367 std::list<LxTrackCandidate*>& candidates,
396 #endif //LXCA_INCLUDED
scaltype x_disp_right_limits[LXSTATIONS]
std::vector< LxLayer * > layers
LxPoint * AddPoint(int hitId, scaltype x, scaltype y, scaltype z, scaltype dx, scaltype dy, scaltype dz, bool isArtificial=false)
void RestoreMiddlePoints()
scaltype x_disp_left_limits_sq[LXSTATIONS]
LxTrack(LxTrackCandidate *tc)
void BuildCandidates(int endStNum, LxRay *ray, LxRay **rays, std::list< LxTrackCandidate * > &candidates, scaltype chi2)
LxRay(LxPoint *s, LxPoint *e)
void RestoreMiddlePoints()
scaltype y_disp_right_limits_sq[LXSTATIONS]
std::list< LxTrack * > tracks
LxRay * rays[LXSTATIONS - 1]
#define LXMAXPOINTSONSTATION
bool use_points[LXSTATIONS - 1][LXMAXPOINTSONSTATION]
scaltype ty_limits[LXSTATIONS]
std::list< LxExtTrack > extTracks
std::pair< LxTrack *, Double_t > recoTrack
LxPoint * PickNearestPoint(scaltype x, scaltype y)
scaltype y_disp_right_limits[LXSTATIONS]
scaltype y_disp_left_limits[LXSTATIONS]
bool HasPointInRange(scaltype x, scaltype y, scaltype deltaX, scaltype deltaY)
LxPoint(scaltype X, scaltype Y, scaltype Z, scaltype Dx, scaltype Dy, scaltype Dz, LxLayer *lay, int hId, bool isArtificial=false)
void InitGlobalCAArrays()
LxPoint * AddPoint(int layerNumber, int hitId, scaltype x, scaltype y, scaltype z, scaltype dx, scaltype dy, scaltype dz)
scaltype y_disp_left_limits_sq[LXSTATIONS]
LxStation(LxSpace *sp, int stNum)
std::list< LxPoint * > points
std::list< LxRay * > neighbours
std::list< LxRay * > rays
scaltype scal_coords[LXLAYERS][LXMAXPOINTSONSTATION]
void CheckArray(scaltype xs[LXSTATIONS][LXLAYERS], scaltype ys[LXSTATIONS][LXLAYERS], scaltype zs[LXSTATIONS][LXLAYERS], scaltype xDisp2Limits[LXSTATIONS], scaltype yDisp2Limits[LXSTATIONS], scaltype tx2Limits[LXSTATIONS], scaltype ty2Limits[LXSTATIONS], scaltype txBreak2Limits[LXSTATIONS], scaltype tyBreak2Limits[LXSTATIONS])
scaltype x_disp_right_limits_sq[LXSTATIONS]
void CheckArray(std::ostream &out, LxMCTrack &track)
std::vector< LxStation * > stations
void CalcTangents(int station_number)
scaltype ty_limits_sq[LXSTATIONS]
LxPoint * AddPoint(int stationNumber, int layerNumber, int hitId, scaltype x, scaltype y, scaltype z, scaltype dx, scaltype dy, scaltype dz)
std::list< std::pair< LxExtTrack *, Double_t > > extTrackCandidates
scaltype tx_limits[LXSTATIONS]
void CheckArray(scaltype xs[LXSTATIONS][LXLAYERS], scaltype ys[LXSTATIONS][LXLAYERS], scaltype zs[LXSTATIONS][LXLAYERS], std::list< LxPoint * > pts[LXSTATIONS][LXLAYERS], int level, scaltype xDisp2Limits[LXSTATIONS], scaltype yDisp2Limits[LXSTATIONS], scaltype tx2Limits[LXSTATIONS], scaltype ty2Limits[LXSTATIONS], scaltype txBreak2Limits[LXSTATIONS], scaltype tyBreak2Limits[LXSTATIONS])
std::list< LxMCPoint * > mcPoints
scaltype x_disp_left_limits[LXSTATIONS]
scaltype tx_limits_sq[LXSTATIONS]
void RefineMiddlePoints()
std::list< LxMCTrack * > mcTracks
LxPoint * points[LXSTATIONS *LXLAYERS]
void CreateRay(LxPoint *lPoint, scaltype tx, scaltype ty, scaltype dtx, scaltype dty)
int points_counts[LXSTATIONS][LXLAYERS]
scaltype scal_tans[LXMAXPOINTSONSTATION]
LxPoint * point_refs[LXSTATIONS][LXLAYERS][LXMAXPOINTSONSTATION]
LxLayer(LxStation *st, int lNum)
LxExtTrack * externalTrack