Belle II Software  release-08-01-10
AbsBField.h
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 
29 namespace genfit {
30 
36 class AbsBField {
37 public:
38 
39  AbsBField(){;}
40  virtual ~AbsBField(){;}
41 
49  virtual TVector3 get(const TVector3& position) const = 0;
50 
56  virtual void get(const double& posX, const double& posY, const double& posZ, double& Bx, double& By, double& Bz) const { const TVector3& B(this->get(TVector3(posX, posY, posZ))); Bx = B.X(); By = B.Y(); Bz = B.Z(); }
57 
58 };
59 
60 } /* End of namespace genfit */
63 #endif // genfit_AbsBField_h
Abstract Interface to magnetic fields in GENFIT.
Definition: AbsBField.h:36
virtual TVector3 get(const TVector3 &position) const =0
Get the magneticField [kGauss] at position.
virtual void get(const double &posX, const double &posY, const double &posZ, double &Bx, double &By, double &Bz) const
Get the magneticField [kGauss] at position.
Definition: AbsBField.h:56
Defines for I/O streams used for error and debug printing.