Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:12:32

0001 #ifndef __TRACKPROJECTORPlaneECAL_H_
0002 #define __TRACKPROJECTORPlaneECAL_H_
0003 
0004 /* STL includes */
0005 
0006 #include <trackbase_historic/SvtxTrack.h>
0007 #include <trackbase_historic/SvtxTrackMap.h>
0008 #include <trackbase_historic/SvtxTrack_FastSim.h>
0009 
0010 #include <string>
0011 #include <memory>
0012 
0013 /* Forward declarations */
0014 class PHCompositeNode;
0015 class PHFieldUtility;
0016 class SvtxTrack;
0017 class SvtxTrackState;
0018 class RawCluster;
0019 class SvtxTrackMap;
0020 
0021 namespace PHGenFit{
0022   class Fitter;
0023 }
0024 
0025 namespace genfit{
0026   class MeasuredStateOnPlane;
0027 }
0028 
0029 class TrackProjectorPlaneECAL {
0030 
0031 public:
0032 
0033   enum PROJECTION_SURFACE {SPHERE, CYLINDER, PLANEXY, PLANE_CYLINDER};
0034   enum PROJECTION_DETECTOR{EEMC, CEMC, FEMC};
0035   
0036   TrackProjectorPlaneECAL( PHCompositeNode* topNode );
0037 
0038   bool get_projected_position( SvtxTrack_FastSim * track, RawCluster* cluster, double arr_pos[3], const PROJECTION_SURFACE surf, const float surface_par ); // Get mean track position
0039 
0040   bool get_projected_momentum( SvtxTrack_FastSim * track, RawCluster* cluster, double arr_mom[3], const PROJECTION_SURFACE surf, const float surface_par ); // Get momentum of track
0041 
0042   SvtxTrack_FastSim * get_best_track( SvtxTrackMap * trackmap, RawCluster* cluster); // Get track closest to cluster (within deltaR)
0043   
0044   SvtxTrackState * get_best_state( SvtxTrack_FastSim * track, RawCluster* cluster);
0045 
0046   char get_detector(); // Return capitalized letter of detector
0047 
0048   SvtxTrackState* project_track( SvtxTrack_FastSim * track, RawCluster* cluster, const PROJECTION_SURFACE surf, const float surface_par );
0049 
0050   void set_detector( char c ); //Sets the detector name
0051   
0052   char get_detector_from_cluster( RawCluster* cluster);
0053 private:
0054 
0055   PHGenFit::Fitter * _fitter;
0056   enum PROJECTION_DETECTOR detector;
0057   
0058 };
0059 
0060 #endif