SND@LHC Software
Loading...
Searching...
No Matches
HelixTrackModel.h
Go to the documentation of this file.
1/* Copyright 2013, Technische Universitaet Muenchen,
2 Authors: 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*/
29#ifndef genfit_HelixTrackModel_h
30#define genfit_HelixTrackModel_h
31
32#include <TObject.h>
33#include <TVector3.h>
34
35
36namespace genfit {
37
41class HelixTrackModel : public TObject {
42
43 public:
44
45 // Constructors/Destructors ---------
46 HelixTrackModel(const TVector3& pos, const TVector3& mom, double charge);
47
48 TVector3 getPos(double tracklength) const;
49 void getPosMom(double tracklength, TVector3& pos, TVector3& mom) const;
50 void getPosDir(double tracklength, TVector3& pos, TVector3& dir) const {
51 getPosMom(tracklength, pos, dir);
52 dir.SetMag(1);
53 }
54
55
56 private:
57
58 double sgn_;
59 double mom_;
60 double R_; // radius
61 TVector3 center_;
62 double alpha0_;
63 double theta_;
64
65
66 public:
67 ClassDef(HelixTrackModel,1)
68
69};
70
71} /* End of namespace genfit */
74#endif // genfit_HelixTrackModel_h
Helix track model for testing purposes.
void getPosDir(double tracklength, TVector3 &pos, TVector3 &dir) const
TVector3 getPos(double tracklength) const
void getPosMom(double tracklength, TVector3 &pos, TVector3 &mom) const
Matrix inversion tools.
Definition AbsBField.h:29