ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHGeomUtility.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHGeomUtility.h
1 #ifndef PHGEOMETRY_PHGEOMUTILITY_H
2 #define PHGEOMETRY_PHGEOMUTILITY_H
3 
4 #include <string>
5 
6 class PHCompositeNode;
7 class TGeoManager;
8 class PHGeomTGeo;
9 class PHGeomIOTGeo;
10 
13 {
14  public:
16  static TGeoManager *
18 
20  static int
21  ImportGeomFile(PHCompositeNode *topNode, const std::string &geometry_file);
22 
24  static int
26 
28  static void
29  ExportGeomtry(PHCompositeNode *topNode, const std::string &geometry_file);
30 
32  static PHGeomTGeo *
33  GetGeomTGeoNode(PHCompositeNode *topNode, bool build_new = true);
34 
36  static PHGeomIOTGeo *
37  GetGeomIOTGeoNode(PHCompositeNode *topNode, bool build_new = true);
38 
41  static PHGeomIOTGeo *
42  UpdateIONode(PHCompositeNode *topNode);
43 
46  static PHGeomTGeo *
48 
52  static std::string
53  GenerateGeometryFileName(const std::string &filename_extension = "gdml");
54 
56  static bool
57  RemoveGeometryFile(const std::string &file_name);
58 
60  static void SetVerbosity(int v);
61 
63  static int GetVerbosity();
64 
66  static std::string
68  {
69  return std::string("GEOMETRY");
70  }
71 
73  static std::string
75  {
76  return std::string("GEOMETRY_IO");
77  }
78 
82 
83  private:
84  PHGeomUtility() = delete;
85  ~PHGeomUtility() = delete;
86 
89  static std::string mg_GenerateGeometryFileNameBase;
90 };
91 
92 #endif