Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4BlockGeom.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4BlockGeom.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4DETECTORS_PHG4BLOCKGEOM_H
4 #define G4DETECTORS_PHG4BLOCKGEOM_H
5 
6 #include <phool/PHObject.h>
7 
8 #include <phool/phool.h>
9 
10 #include <cmath>
11 #include <iostream> // for cout, ostream
12 
13 class PHG4BlockGeom : public PHObject
14 {
15  public:
16  ~PHG4BlockGeom() override {}
17 
18  // from PHObject
19  void identify(std::ostream &os = std::cout) const override;
20 
21  virtual int get_layer() const
22  {
23  PHOOL_VIRTUAL_WARN("get_layer()");
24  return -99999;
25  }
26  virtual double get_size_x() const
27  {
28  PHOOL_VIRTUAL_WARN("get_size_x()");
29  return NAN;
30  }
31  virtual double get_size_y() const
32  {
33  PHOOL_VIRTUAL_WARN("get_size_y()");
34  return NAN;
35  }
36  virtual double get_size_z() const
37  {
38  PHOOL_VIRTUAL_WARN("get_size_z()");
39  return NAN;
40  }
41  virtual double get_center_x() const
42  {
43  PHOOL_VIRTUAL_WARN("get_place_x()");
44  return NAN;
45  }
46  virtual double get_center_y() const
47  {
48  PHOOL_VIRTUAL_WARN("get_place_y()");
49  return NAN;
50  }
51  virtual double get_center_z() const
52  {
53  PHOOL_VIRTUAL_WARN("get_place_z()");
54  return NAN;
55  }
56  virtual double get_z_rot() const
57  {
58  PHOOL_VIRTUAL_WARN("get_z_rot()");
59  return NAN;
60  }
61 
62  virtual double get_width() const
63  {
64  PHOOL_VIRTUAL_WARN("get_width()");
65  return NAN;
66  }
67  virtual double get_length() const
68  {
69  PHOOL_VIRTUAL_WARN("get_length()");
70  return NAN;
71  }
72  virtual double get_thickness() const
73  {
74  PHOOL_VIRTUAL_WARN("get_thickness()");
75  return NAN;
76  }
77 
78  virtual double get_rot_matrix(const int, const int) const
79  {
80  PHOOL_VIRTUAL_WARN("get_rot_matrix(const int, const int)");
81  return NAN;
82  }
83 
84  virtual void set_layer(const int) { PHOOL_VIRTUAL_WARN("set_layer(const int)"); }
85  virtual void set_size(const double /*sizex*/, const double /*sizey*/, const double /*sizez*/)
86  {
87  PHOOL_VIRTUAL_WARN("set_size(const double, const double, const double)");
88  }
89  virtual void set_place(const double /*placex*/, const double /*placey*/, const double /*placez*/)
90  {
91  PHOOL_VIRTUAL_WARN("set_place(const double, const double, const double)");
92  }
93  virtual void set_z_rot(const double) { PHOOL_VIRTUAL_WARN("set_z_rot(const double)"); }
94 
95  virtual void convert_local_to_global(const double, const double, const double,
96  double &, double &, double &) const
97  {
98  PHOOL_VIRTUAL_WARN("convert_local_to_global(const double, const double, const double, double &, double &, double &)");
99  }
100  virtual void convert_global_to_local(const double, const double, const double,
101  double &, double &, double &) const
102  {
103  PHOOL_VIRTUAL_WARN("convert_global_to_local(const double, const double, const double, double &, double &, double &)");
104  }
105 
106  protected:
108 
109  ClassDefOverride(PHG4BlockGeom, 1)
110 };
111 
112 #endif