PandaRoot
AbsBField.h
Go to the documentation of this file.
1 /* Copyright 2008-2010, 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 */
23 #ifndef genfit_AbsBField_h
24 #define genfit_AbsBField_h
25 
26 #include <TVector3.h>
27 
28 namespace genfit {
29 
35 class AbsBField {
36  public:
37  AbsBField() { ; }
38  virtual ~AbsBField() { ; }
39 
47  virtual TVector3 get(const TVector3 &position) const = 0;
48 
54  virtual void get(const double &posX, const double &posY, const double &posZ, double &Bx, double &By, double &Bz) const
55  {
56  const TVector3 &B(this->get(TVector3(posX, posY, posZ)));
57  Bx = B.X();
58  By = B.Y();
59  Bz = B.Z();
60  }
61 };
62 
63 } /* End of namespace genfit */
66 #endif // genfit_AbsBField_h
Abstract Interface to magnetic fields in GENFIT.
Definition: AbsBField.h:35
virtual ~AbsBField()
Definition: AbsBField.h:38
Matrix inversion tools.
Definition: AbsBField.h:28