ATLAS Offline Software
Loading...
Searching...
No Matches
RungeKuttaUtils.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6// Header file for class RungeKuttaUtils, (c) ATLAS Detector software
7// author Igor Gavrilenko
9
10#ifndef RungeKuttaUtils_H
11#define RungeKuttaUtils_H
12
13#include "CxxUtils/restrict.h"
18
19#include <map>
20#include <vector>
21#include <utility>
22
23namespace Trk {
24
25class ConeSurface;
26class DiscSurface;
27class PlaneSurface;
28class CylinderSurface;
31
88
89namespace RungeKuttaUtils {
90
92// Step estimators to surface
94double
95stepEstimator(int kind,
96 double* ATH_RESTRICT Su,
97 const double* ATH_RESTRICT P,
98 bool& Q);
99double
101 double* ATH_RESTRICT Su,
102 const double* ATH_RESTRICT P,
103 bool& Q);
105// Step estimators to surfaces
107std::pair<double, int>
108stepEstimator(std::vector<std::pair<const Trk::Surface*, Trk::BoundaryCheck>>&,
109 std::multimap<double, int>&,
110 const double* ATH_RESTRICT,
111 const double* ATH_RESTRICT,
112 double,
113 double,
114 int Nv,
115 bool&);
116
117int
119 std::vector<std::pair<const Trk::Surface*, Trk::BoundaryCheck>>&,
120 std::multimap<double, int>&,
121 const double* ATH_RESTRICT,
122 double,
123 const Trk::Surface*,
124 double* ATH_RESTRICT);
125
127// Transformations from local to global system coordinates
128// for Trk::TrackParameters and Trk::NeutralParameters
130bool
132bool
134
136// Transformations from local to global system coordinates
138bool
140 const Trk::Surface*,
141 const AmgVector(5) & ATH_RESTRICT,
142 double* ATH_RESTRICT);
143
145// Transformations from local to global system coordinates
146// for Trk::PatternTrackParameters
148bool
150
152// Transformations from global to local system coordinates
154void
156void
158 bool,
159 double* ATH_RESTRICT,
160 double* ATH_RESTRICT,
161 double* ATH_RESTRICT);
162
164// Covariance matrix production for Trk::TrackParameters
167newCovarianceMatrix(const double* ATH_RESTRICT, const AmgSymMatrix(5) & ATH_RESTRICT);
168
170// Transformations from curvilinear to global system coordinates
171// covariance matrix only
173void
175
177// Transformations from global to curvilinear system coordinates
178// covariance matrix only
180void
182 double* ATH_RESTRICT,
183 double* ATH_RESTRICT,
184 double* ATH_RESTRICT);
185
187// Jacobian of transformations from curvilinear to local system coordinates
189void
191void
193 double* ATH_RESTRICT);
194void
196 const Trk::Surface*,
197 double* ATH_RESTRICT);
198
199}
200}
201
202#endif // RungeKuttaUtils_H
#define AmgSymMatrix(dim)
#define AmgVector(rows)
Class for a conical surface in the ATLAS detector.
Definition ConeSurface.h:51
Class for a CylinderSurface in the ATLAS detector.
Class for a DiscSurface in the ATLAS detector.
Definition DiscSurface.h:54
Class for a planaer rectangular or trapezoidal surface in the ATLAS detector.
Class for a StraightLineSurface in the ATLAS detector to describe dirft tube and straw like detectors...
Abstract Base Class for tracking surfaces.
Trk::RungeKuttaUtils is set algorithms for track parameters transformation from local to global and g...
void transformGlobalToCurvilinear(bool, double *ATH_RESTRICT, double *ATH_RESTRICT, double *ATH_RESTRICT)
bool transformLocalToGlobal(bool, const Trk::TrackParameters &, double *ATH_RESTRICT)
void transformGlobalToLocal(double *ATH_RESTRICT, double *ATH_RESTRICT)
int fillDistancesMap(std::vector< std::pair< const Trk::Surface *, Trk::BoundaryCheck > > &, std::multimap< double, int > &, const double *ATH_RESTRICT, double, const Trk::Surface *, double *ATH_RESTRICT)
void jacobianTransformCurvilinearToLocal(const Trk::TrackParameters &, double *ATH_RESTRICT)
double stepEstimator(int kind, double *ATH_RESTRICT Su, const double *ATH_RESTRICT P, bool &Q)
AmgSymMatrix(5) new CovarianceMatrix(const double *ATH_RESTRICT
void transformCurvilinearToGlobal(double *ATH_RESTRICT, double *ATH_RESTRICT)
Ensure that the ATLAS eigen extensions are properly loaded.
SurfaceType
This enumerator simplifies the persistency & calculations,.
ParametersBase< NeutralParametersDim, Neutral > NeutralParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Macro wrapping the nonstandard restrict keyword.
#define ATH_RESTRICT
Definition restrict.h:31