GENFIT Rev: NoNumberAvailable
Loading...
Searching...
No Matches
MplTrackRep.h
Go to the documentation of this file.
1/* Copyright 2019, Belle II Collaboration
2 Authors: Dmitrii Neverov
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
20#include "RKTrackRep.h"
21
22namespace genfit {
33 class MplTrackRep : public RKTrackRep {
34
35 public:
36
38 MplTrackRep(int pdgCode, float magCharge, char propDir = 0);
40
41 // Hopefully this is the only function that is vastly different for monopoles
42 double RKPropagate(M1x7& state7,
43 M7x7* jacobian,
44 M1x3& SA,
45 double S,
46 bool varField = true,
47 bool calcOnlyLastRowOfJ = false) const override;
48
49 // Returns the magnetic charge instead of electric as in the base class.
50 double getCharge(const StateOnPlane& state) const override;
51
52 private:
53
54 const double m_magCharge; // the magnitude of magnetic charge in units of e+
55 const double m_mass; // the mass of the monopole in units of GeV/c^2
56
57
58 public:
59
60 ClassDefOverride(MplTrackRep, 1)
61
62 };
63} //end genfit namespace
double RKPropagate(M1x7 &state7, M7x7 *jacobian, M1x3 &SA, double S, bool varField=true, bool calcOnlyLastRowOfJ=false) const override
The actual Runge Kutta propagation.
double getCharge(const StateOnPlane &state) const override
Get the (fitted) charge of a state. This is not always equal the pdg charge (e.g. if the charge sign ...
const double m_mass
Definition MplTrackRep.h:55
const double m_magCharge
Definition MplTrackRep.h:54
A state with arbitrary dimension defined in a DetPlane.
Defines for I/O streams used for error and debug printing.
RKMatrix< 1, 7 > M1x7
Definition RKTools.h:68
RKMatrix< 7, 7 > M7x7
Definition RKTools.h:71
RKMatrix< 1, 3 > M1x3
Definition RKTools.h:66