30 : fExtrapolator(extrapolator) {
41 std::vector<litfloat>* F,
44 return Propagate(parOut, zOut, pdg, F, length);
50 std::vector<litfloat>* F,
66 bool downstream = dz > 0;
82 stepSize = std::abs(dz);
88 if (length) *length = 0;
91 for (
int iStep = 0; iStep < nofSteps + 1; iStep++) {
97 if (iStep != nofSteps) {
98 z = (downstream) ? z + stepSize : z - stepSize;
104 std::vector<CbmLitMaterialInfo> inter;
110 for (
unsigned int iMat = 0; iMat < inter.size(); iMat++) {
116 std::vector<litfloat>* Fnew = NULL;
117 if (F != NULL) { Fnew =
new std::vector<litfloat>(36, 0.); }
124 if (F != NULL) {
UpdateF(*F, *Fnew); }
125 if (Fnew != NULL)
delete Fnew;
128 fMaterial->Update(par, &mat, pdg, downstream);
142 const std::vector<litfloat>& newF) {
143 std::vector<litfloat> A(36);
145 F.assign(A.begin(), A.end());
153 if (std::abs(par->
GetTx()) > maxSlope || std::abs(par->
GetTy()) > maxSlope
154 || std::abs(par->
GetTx()) < minSlope || std::abs(par->
GetTy()) < minSlope
155 || std::abs(par->
GetQp()) > maxQp) {
159 if (std::isnan(par->
GetX()) || std::isnan(par->
GetY())
160 || std::isnan(par->
GetTx()) || std::isnan(par->
GetTy())
161 || std::isnan(par->
GetQp())) {