GENFIT Rev: NoNumberAvailable
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
23
24#ifndef genfit_AbsMaterialInterface_h
25#define genfit_AbsMaterialInterface_h
26
27#include "RKTrackRep.h"
28#include "Material.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
51 /***
52 * Get the material paramaters in the current material.
53 * @return
54 */
56
63 virtual double findNextBoundary(const RKTrackRep* rep,
64 const M1x7& state7,
65 double sMax,
66 bool varField = true) = 0;
67
68 virtual void setDebugLvl(unsigned int lvl = 1) {debugLvl_ = lvl;}
69
70 protected:
71 unsigned int debugLvl_;
72
73 //ClassDef(AbsMaterialInterface, 1);
74
75};
76
77} /* End of namespace genfit */
79
80#endif // genfit_AbsMaterialInterface_h
virtual void setDebugLvl(unsigned int lvl=1)
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 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.
virtual Material getMaterialParameters()=0
AbsTrackRep with 5D track parameterization in plane coordinates: (q/p, u', v', u, v)
Definition RKTrackRep.h:72
Defines for I/O streams used for error and debug printing.
RKMatrix< 1, 7 > M1x7
Definition RKTools.h:68