CbmRoot
Loading...
Searching...
No Matches
CbmLitTGeoTrackPropagator.h
Go to the documentation of this file.
1/* Copyright (C) 2007-2012 GSI/JINR-LIT, Darmstadt/Dubna
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Andrey Lebedev [committer] */
4
14#ifndef CBMLITTGEOTRACKPROPAGATOR_H_
15#define CBMLITTGEOTRACKPROPAGATOR_H_
16
17#include "base/CbmLitPtrTypes.h"
19
20#include <vector>
21
23 public:
24 /* Standard constructor with the pointer to track extrapolation tool.
25 * @param extrapolator Pointer to the LIT track extrapolator class to be used during the propagation.
26 */
28
29 /* Destructor */
31
32 /* Inherited from CbmLitTrackPropagator */
33 virtual LitStatus Propagate(const CbmLitTrackParam* parIn, CbmLitTrackParam* parOut, litfloat zOut, int pdg,
34 std::vector<litfloat>* F, litfloat* length);
35
36 /* Inherited from CbmLitTrackPropagator */
37 virtual LitStatus Propagate(CbmLitTrackParam* par, litfloat zOut, int pdg, std::vector<litfloat>* F,
38 litfloat* length);
39
40 static litfloat MAXIMUM_PROPAGATION_STEP_SIZE; // maximum step size in the TGeo track propagation
41
42 protected:
43 /* Updates the transport matrix F = newF * F.
44 * @param F Input/output Current transport matrix.
45 * @param newF Transport matrix to be included in the current transport matrix.
46 */
47 void UpdateF(std::vector<litfloat>& F, const std::vector<litfloat>& newF);
48
49 /* Checks if the track parameters are correct by checking their maximum acceptable values.
50 * @param par Track parameters to be checked.
51 */
52 bool IsParCorrect(const CbmLitTrackParam* par);
53
54 private:
55 TrackExtrapolatorPtr fExtrapolator; // Track extrapolator tool
56 GeoNavigatorPtr fNavigator; // Geometry navigator tool
57 MaterialEffectsPtr fMaterial; // Material effects tool
58};
59
60#endif //CBMLITTGEOTRACKPROPAGATOR_H_
LitStatus
Definition CbmLitEnums.h:29
double litfloat
Definition CbmLitFloat.h:19
Typedefs for algorithm interfaces.
boost::shared_ptr< CbmLitMaterialEffects > MaterialEffectsPtr
boost::shared_ptr< CbmLitGeoNavigator > GeoNavigatorPtr
boost::shared_ptr< CbmLitTrackExtrapolator > TrackExtrapolatorPtr
virtual LitStatus Propagate(const CbmLitTrackParam *parIn, CbmLitTrackParam *parOut, litfloat zOut, int pdg, std::vector< litfloat > *F, litfloat *length)
Track parameter propagation.
void UpdateF(std::vector< litfloat > &F, const std::vector< litfloat > &newF)
CbmLitTGeoTrackPropagator(TrackExtrapolatorPtr extrapolator)
bool IsParCorrect(const CbmLitTrackParam *par)
Data class for track parameters.
CbmLitTrackPropagator.h.