forked from trackreco/mkFit
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathPropagation.h
26 lines (19 loc) · 1.02 KB
/
Propagation.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef _propagation_
#define _propagation_
#include "Track.h"
#include "Geometry.h"
namespace mkfit {
// line propagation from state radius to hit radius
// assuming radial direction (i.e. origin at (0,0))
TrackState propagateLineToR(const TrackState& inputState, float r);
TrackState propagateHelixToNextSolid(TrackState inputState, const Geometry& geom, const PropagationFlags pflags);
TrackState propagateHelixToLayer(TrackState inputState, int layer, const Geometry& geom, const PropagationFlags pflags);
// helix propagation in steps along helix trajectory.
// each step travels for a path lenght equal to delta r between the current position and the target radius.
// for track with pT>=1 GeV this converges to the correct path lenght in <5 iterations
// derivatives need to be updated at each iteration
TrackState propagateHelixToR(TrackState inputState, float r, const PropagationFlags pflags);
//
TrackState propagateHelixToZ(TrackState inputState, float z, const PropagationFlags pflags);
} // end namespace mkfit
#endif