Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:14:07

0001 #ifndef __SETUPDUALRICHANALYZER_H_
0002 #define __SETUPDUALRICHANALYZER_H_
0003 
0004 #include <stdio.h>
0005 #include <fstream>
0006 #include <iostream>
0007 #include <iomanip>
0008 #include <sstream>
0009 #include <string>
0010 #include <vector>
0011 
0012 #include <cmath>
0013 
0014 #include <g4main/PHG4Hit.h>
0015 #include <g4main/PHG4Particle.h>
0016 #include <g4main/PHG4VtxPoint.h>
0017 #include <g4main/PHG4HitContainer.h>
0018 #include <g4main/PHG4TruthInfoContainer.h>
0019 
0020 #include <g4hough/SvtxTrack.h>
0021 
0022 class eic_dual_rich;
0023 
0024 using namespace std;
0025 
0026 
0027 // SetupDualRICHAnalyzer class //
0028 
0029 class SetupDualRICHAnalyzer {
0030 
0031  private:
0032 
0033  public:
0034 
0035   SetupDualRICHAnalyzer();
0036 
0037   double calculate_emission_angle( double m_emi[3], double momv[3], PHG4Hit * hit ); // Calculate emission angle from IRT
0038 
0039   bool get_true_momentum( PHG4TruthInfoContainer * truthinfo, SvtxTrack * track, double arr_mom[3] ); // Get truth momentum of track
0040   bool get_emission_momentum( PHG4TruthInfoContainer * truthinfo, PHG4HitContainer * richhits, SvtxTrack * track, double arr_mom[3] ); // Get momentum from emission points
0041 
0042   /* analyzer object */
0043   eic_dual_rich *_analyzer;
0044 
0045 };
0046 
0047 #endif