forked from sPHENIX-Collaboration/GenFit
/
TGeoMaterialInterface.h
69 lines (50 loc) · 2.1 KB
/
TGeoMaterialInterface.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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/* Copyright 2008-2014, Technische Universitaet Muenchen,
Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
This file is part of GENFIT.
GENFIT is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
GENFIT is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
*/
/** @addtogroup RKTrackRep
* @{
*/
#ifndef genfit_TGeoMaterialInterface_h
#define genfit_TGeoMaterialInterface_h
#include "AbsMaterialInterface.h"
namespace genfit {
/**
* @brief AbsMaterialInterface implementation for use with ROOT's TGeoManager.
*/
class TGeoMaterialInterface : public AbsMaterialInterface {
public:
TGeoMaterialInterface() {};
~TGeoMaterialInterface(){;};
/** @brief Initialize the navigator at given position and with given
direction. Returns true if the volume changed.
*/
bool initTrack(double posX, double posY, double posZ,
double dirX, double dirY, double dirZ) override;
Material getMaterialParameters() override;
/** @brief Make a step (following the curvature) until step length
* sMax or the next boundary is reached. After making a step to a
* boundary, the position has to be beyond the boundary, i.e. the
* current material has to be that beyond the boundary. The actual
* step made is returned.
*/
double findNextBoundary(const RKTrackRep* rep,
const M1x7& state7,
double sMax,
bool varField = true) override;
// ClassDefOverride(TGeoMaterialInterface, 1);
private:
};
} /* End of namespace genfit */
/** @} */
#endif // genfit_TGeoMaterialInterface_h