Belle II Software  release-08-01-10
HelixTrackModel.h
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 
36 namespace genfit {
37 
41 class 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.
Defines for I/O streams used for error and debug printing.