BmnRoot
Loading...
Searching...
No Matches
BmnGeoNavigator.h
Go to the documentation of this file.
1
9#ifndef BMNGEONAVIGATOR_H_
10#define BMNGEONAVIGATOR_H_
11
12#include "TObject.h"
13#include "BmnMaterialInfo.h"
14#include "FairTrackParam.h"
15#include "BmnEnums.h"
16
17#include <vector>
18
19using namespace std;
20
22public:
23 /* Constructor */
25
26 /* Destructor */
27 virtual ~BmnGeoNavigator();
28
29 BmnStatus FindIntersections(const FairTrackParam* par, Float_t zOut, vector<BmnMaterialInfo>& inter);
30
31private:
32 /* Sets the current position and direction for the TGeoManager
33 * @param par Track parameter from which the current position and direction will be initialized.
34 */
35 void InitTrack(const FairTrackParam* par, Bool_t downstream) const;
36
37 /* Make a step: if step=0 than to the next crossing boundary, else
38 * make a step of length step.
39 * @param step Step size [cm].
40 * @return Crossed material information
41 */
42 BmnMaterialInfo MakeStep(Float_t step = 0.) const;
43
44 /* Calculates length between current position and the point on the plane at zOut.
45 * @param zOut Output Z position [cm]
46 * @return Length.
47 */
48 Float_t CalcLength(Float_t zOut) const;
49};
50
51#endif /*BMNGEONAVIGATOR_H_*/
BmnStatus
Definition BmnEnums.h:24
virtual ~BmnGeoNavigator()
BmnStatus FindIntersections(const FairTrackParam *par, Float_t zOut, vector< BmnMaterialInfo > &inter)
STL namespace.