Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:18:30

0001 /* Copyright 2013, Technische Universitaet Muenchen,
0002    Authors: Johannes Rauch
0003 
0004    This file is part of GENFIT.
0005 
0006    GENFIT is free software: you can redistribute it and/or modify
0007    it under the terms of the GNU Lesser General Public License as published
0008    by the Free Software Foundation, either version 3 of the License, or
0009    (at your option) any later version.
0010 
0011    GENFIT is distributed in the hope that it will be useful,
0012    but WITHOUT ANY WARRANTY; without even the implied warranty of
0013    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0014    GNU Lesser General Public License for more details.
0015 
0016    You should have received a copy of the GNU Lesser General Public License
0017    along with GENFIT.  If not, see <http://www.gnu.org/licenses/>.
0018 */
0019 /**
0020  *  @author Johannes Rauch (Technische Universit&auml;t M&uuml;nchen, original author)
0021  *
0022  */
0023 
0024 
0025 /** @addtogroup utilities
0026  * @{
0027  */
0028 
0029 #ifndef genfit_HelixTrackModel_h
0030 #define genfit_HelixTrackModel_h
0031 
0032 #include <TObject.h>
0033 #include <TVector3.h>
0034 
0035 
0036 namespace genfit {
0037 
0038 /**
0039  * @brief Helix track model for testing purposes
0040  */
0041 class HelixTrackModel : public TObject {
0042 
0043  public:
0044 
0045   // Constructors/Destructors ---------
0046   HelixTrackModel(const TVector3& pos, const TVector3& mom, double charge);
0047 
0048   TVector3 getPos(double tracklength) const;
0049   void getPosMom(double tracklength, TVector3& pos, TVector3& mom) const;
0050   void getPosDir(double tracklength, TVector3& pos, TVector3& dir) const {
0051     getPosMom(tracklength, pos, dir);
0052     dir.SetMag(1);
0053   }
0054 
0055 
0056  private:
0057 
0058   double sgn_;
0059   double mom_;
0060   double R_; // radius
0061   TVector3 center_;
0062   double alpha0_;
0063   double theta_;
0064 
0065 
0066  public:
0067   ClassDef(HelixTrackModel,1)
0068 
0069 };
0070 
0071 } /* End of namespace genfit */
0072 /** @} */
0073 
0074 #endif // genfit_HelixTrackModel_h