File indexing completed on 2025-08-03 08:14:07
0001 #ifndef __TRACKPROJECTORPID_H_
0002 #define __TRACKPROJECTORPID_H_
0003
0004
0005 #include <string>
0006 #include <memory>
0007
0008
0009 class PHCompositeNode;
0010 class PHFieldUtility;
0011 class SvtxTrack;
0012 class SvtxTrackState;
0013
0014 namespace PHGenFit{
0015 class Fitter;
0016 }
0017
0018 namespace genfit{
0019 class MeasuredStateOnPlane;
0020 }
0021
0022
0023
0024
0025
0026 class TrackProjectorPid {
0027
0028 public:
0029
0030 enum PROJECTION_SURFACE {SPHERE, CYLINDER, PLANEXY};
0031
0032 TrackProjectorPid( PHCompositeNode* topNode );
0033
0034 bool get_projected_position( SvtxTrack * track, double arr_pos[3], const PROJECTION_SURFACE surf, const float surface_par );
0035
0036 bool get_projected_momentum( SvtxTrack * track, double arr_mom[3], const PROJECTION_SURFACE surf, const float surface_par );
0037
0038 SvtxTrackState* project_track( SvtxTrack * track, const PROJECTION_SURFACE surf, const float surface_par );
0039
0040 bool is_in_RICH( double momv[3] );
0041
0042 private:
0043
0044 PHGenFit::Fitter * _fitter;
0045 };
0046
0047 #endif