SND@LHC Software
Loading...
Searching...
No Matches
AbsMaterialInterface.h
Go to the documentation of this file.
1/* Copyright 2008-2009, Technische Universitaet Muenchen,
2 Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
3
4 This file is part of GENFIT.
5
6 GENFIT is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as published
8 by the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 GENFIT is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public License
17 along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
18*/
19
24#ifndef genfit_AbsMaterialInterface_h
25#define genfit_AbsMaterialInterface_h
26
27#include "RKTrackRep.h"
28#include "MaterialProperties.h"
29
30#include <TObject.h>
31#include <TVector3.h>
32
33
34namespace genfit {
35
39class AbsMaterialInterface : public TObject {
40
41 public:
42
45
48 virtual bool initTrack(double posX, double posY, double posZ,
49 double dirX, double dirY, double dirZ) = 0;
50
53 virtual void getMaterialParameters(double& density,
54 double& Z,
55 double& A,
56 double& radiationLength,
57 double& mEE) = 0;
58
59 virtual void getMaterialParameters(MaterialProperties& parameters) = 0;
60
67 virtual double findNextBoundary(const RKTrackRep* rep,
68 const M1x7& state7,
69 double sMax,
70 bool varField = true) = 0;
71
72 virtual double findNextBoundaryAndStepStraight(double sMax) = 0;
73
74
75 //ClassDef(AbsMaterialInterface, 1);
76
77};
78
79} /* End of namespace genfit */
82#endif // genfit_AbsMaterialInterface_h
virtual void getMaterialParameters(double &density, double &Z, double &A, double &radiationLength, double &mEE)=0
Get material parameters in current material.
virtual void getMaterialParameters(MaterialProperties &parameters)=0
virtual double findNextBoundary(const RKTrackRep *rep, const M1x7 &state7, double sMax, bool varField=true)=0
Make a step until maxStep or the next boundary is reached.
virtual double findNextBoundaryAndStepStraight(double sMax)=0
virtual bool initTrack(double posX, double posY, double posZ, double dirX, double dirY, double dirZ)=0
Initialize the navigator at given position and with given direction. Return true if volume changed.
Material properties needed e.g. for material effects calculation.
AbsTrackRep with 5D track parameterization in plane coordinates: (q/p, u', v', u, v)
Definition RKTrackRep.h:70
Matrix inversion tools.
Definition AbsBField.h:29
double M1x7[1 *7]
Definition RKTools.h:36