PandaRoot
AbsBField.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 /* Copyright 2008-2010, Technische Universitaet Muenchen,
14  Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
15 
16  This file is part of GENFIT.
17 
18  GENFIT is free software: you can redistribute it and/or modify
19  it under the terms of the GNU Lesser General Public License as published
20  by the Free Software Foundation, either version 3 of the License, or
21  (at your option) any later version.
22 
23  GENFIT is distributed in the hope that it will be useful,
24  but WITHOUT ANY WARRANTY; without even the implied warranty of
25  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26  GNU Lesser General Public License for more details.
27 
28  You should have received a copy of the GNU Lesser General Public License
29  along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
30 */
35 #ifndef genfit_AbsBField_h
36 #define genfit_AbsBField_h
37 
38 #include <TVector3.h>
39 
40 namespace genfit {
41 
47 class AbsBField {
48  public:
49  AbsBField() { ; }
50  virtual ~AbsBField() { ; }
51 
59  virtual TVector3 get(const TVector3 &position) const = 0;
60 
66  virtual void get(const double &posX, const double &posY, const double &posZ, double &Bx, double &By, double &Bz) const
67  {
68  const TVector3 &B(this->get(TVector3(posX, posY, posZ)));
69  Bx = B.X();
70  By = B.Y();
71  Bz = B.Z();
72  }
73 };
74 
75 } /* End of namespace genfit */
78 #endif // genfit_AbsBField_h
Abstract Interface to magnetic fields in GENFIT.
Definition: AbsBField.h:47
virtual ~AbsBField()
Definition: AbsBField.h:50
Matrix inversion tools.
Definition: AbsBField.h:40