File indexing completed on 2025-08-03 08:18:44
0001
0002
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