Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:18:44

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef G4MAIN_PHG4UTILS_H
0004 #define G4MAIN_PHG4UTILS_H
0005 
0006 #include <string>
0007 #include <utility>  // for pair
0008 
0009 class G4VisAttributes;
0010 
0011 class PHG4Utils
0012 {
0013  public:
0014   static double GetLengthForRapidityCoverage(const double radius, const double eta);
0015   static double GetLengthForRapidityCoverage(const double radius);
0016   static void SetPseudoRapidityCoverage(const double eta);
0017   static void SetColour(G4VisAttributes *att, const std::string &mat);
0018   static double get_theta(const double eta);
0019   static double get_eta(const double theta);
0020   static std::pair<double, double> get_etaphi(const double x, const double y, const double z);
0021   static double get_eta(const double radius, const double z);
0022   static std::pair<bool, double> line_and_rectangle_intersect(double ax, double ay, double bx, double by, double cx, double cy, double dx, double dy);
0023   static std::pair<bool, std::pair<double, double>> lines_intersect(double ax, double ay, double bx, double by, double cx, double cy, double dx, double dy);
0024   static double circle_rectangle_intersection(double x1, double y1, double x2, double y2, double mx, double my, double r);
0025   static double sA(double r, double x, double y);
0026   static std::string md5sum(const std::string &filename);
0027 
0028  private:
0029   static double _eta_coverage;
0030 };
0031 
0032 #endif  // G4MAIN_PHG4UTILS_H