Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-22 11:02:48

0001 /***************************************************************************
0002  *
0003  * $Id: StPhysicalHelix.hh,v 1.4 2005/07/06 18:49:56 fisyak Exp $
0004  *
0005  * Author: Brian Lasiuk, Sep 1997
0006  ***************************************************************************
0007  *
0008  * Description: 
0009  * Parametrization of a physical helix. See the SCL user guide for more.
0010  * 
0011  ***************************************************************************
0012  *
0013  * $Log: StPhysicalHelix.hh,v $
0014  * Revision 1.4  2005/07/06 18:49:56  fisyak
0015  * Replace StHelixD, StLorentzVectorD,StLorentzVectorF,StMatrixD,StMatrixF,StPhysicalHelixD,StThreeVectorD,StThreeVectorF by templated version
0016  *
0017  * Revision 1.3  2002/06/21 17:49:26  genevb
0018  * Some minor speed improvements
0019  *
0020  * Revision 1.2  2002/02/20 00:56:23  ullrich
0021  * Added methods to calculate signed DCA.
0022  *
0023  * Revision 1.1  1999/01/30 03:59:04  fisyak
0024  * Root Version of StarClassLibrary
0025  *
0026  * Revision 1.1  1999/01/23 00:27:59  ullrich
0027  * Initial Revision
0028  *
0029  **************************************************************************/
0030 #ifndef ST_PHYSICAL_HELIX_HH
0031 #define ST_PHYSICAL_HELIX_HH
0032 
0033 #include "TVector3.h"
0034 #include "StHelix.h"
0035 
0036 class StPhysicalHelix : public StHelix {
0037 public:
0038     // Requires: momentum, origin, signed Magnetic Field
0039     //           and Charge of particle (+/- 1)
0040     StPhysicalHelix(const TVector3&,
0041             const TVector3&,
0042             double, double);
0043     
0044     // curvature, dip angle, phase, origin, h
0045     StPhysicalHelix(double, double, double,
0046             const TVector3&, int h=-1);
0047     StPhysicalHelix();
0048     
0049     ~StPhysicalHelix();
0050 
0051     // Requires:  signed Magnetic Field
0052     TVector3 momentum(double) const;     // returns the momentum at origin
0053     TVector3 momentumAt(double, double) const; // returns momemtum at S
0054     int                   charge(double)   const;     // returns charge of particle
0055     // 2d DCA to x,y point signed relative to curvature
0056     double curvatureSignedDistance(double x, double y) ;
0057     // 2d DCA to x,y point signed relative to rotation 
0058     double geometricSignedDistance(double x, double y) ;
0059     // 3d DCA to 3d point signed relative to curvature
0060     double curvatureSignedDistance(const TVector3&) ;
0061     // 3d DCA to 3d point signed relative to rotation
0062     double geometricSignedDistance(const TVector3&) ;
0063     
0064 #ifdef __ROOT__
0065   ClassDef(StPhysicalHelix,1)
0066 #endif
0067 };
0068 
0069 #endif