File indexing completed on 2025-08-05 08:17:45
0001
0002
0003 #ifndef G4DETECTORS_PHG4CYLINDERGEOM_H
0004 #define G4DETECTORS_PHG4CYLINDERGEOM_H
0005
0006 #include <phool/PHObject.h>
0007
0008 #include <phool/phool.h>
0009
0010 #include <cmath>
0011 #include <iostream> // for cout, ostream
0012
0013 class PHParameters;
0014
0015 class PHG4CylinderGeom : public PHObject
0016 {
0017 public:
0018 ~PHG4CylinderGeom() override {}
0019
0020
0021 void identify(std::ostream &os = std::cout) const override;
0022
0023 virtual int get_layer() const
0024 {
0025 PHOOL_VIRTUAL_WARN("get_layer()");
0026 return -99999;
0027 }
0028 virtual double get_radius() const
0029 {
0030 PHOOL_VIRTUAL_WARN("get_radius()");
0031 return NAN;
0032 }
0033 virtual double get_thickness() const
0034 {
0035 PHOOL_VIRTUAL_WARN("get_thickness()");
0036 return NAN;
0037 }
0038 virtual double get_zmin() const
0039 {
0040 PHOOL_VIRTUAL_WARN("get_zmin()");
0041 return NAN;
0042 }
0043 virtual double get_zmax() const
0044 {
0045 PHOOL_VIRTUAL_WARN("get_zmax()");
0046 return NAN;
0047 }
0048 virtual int get_nscint() const
0049 {
0050 PHOOL_VIRTUAL_WARN("get_nscint()");
0051 return -99999;
0052 }
0053 virtual double get_tiltangle() const
0054 {
0055 PHOOL_VIRTUAL_WARN("get_tiltangle()");
0056 return NAN;
0057 }
0058 virtual double get_phi_slat_zero() const
0059 {
0060 PHOOL_VIRTUAL_WARN("get_phi_slat_zero()");
0061 return NAN;
0062 }
0063
0064 virtual void set_layer(const int) { PHOOL_VIRTUAL_WARN("set_layer(const int)"); }
0065 virtual void set_radius(const double) { PHOOL_VIRTUAL_WARN("set_radius(const double)"); }
0066 virtual void set_thickness(const double) { PHOOL_VIRTUAL_WARN("set_thickness(const double)"); }
0067 virtual void set_zmin(const double) { PHOOL_VIRTUAL_WARN("set_zmin(const double)"); }
0068 virtual void set_zmax(const double) { PHOOL_VIRTUAL_WARN("set_zmax(const double)"); }
0069 virtual void set_nscint(const int)
0070 {
0071 PHOOL_VIRTUAL_WARN("set_nscint(const int)");
0072 return;
0073 }
0074 virtual void set_tiltangle(const double)
0075 {
0076 PHOOL_VIRTUAL_WARN("set_tiltangle(const double)");
0077 return;
0078 }
0079 virtual void set_phi_slat_zero(const double)
0080 {
0081 PHOOL_VIRTUAL_WARN("set_phi_slat_zero (const double)");
0082 return;
0083 }
0084
0085 virtual void find_segment_center(const int , const int , double [])
0086 {
0087 PHOOL_VIRTUAL_WARN("find_sensor_center");
0088 return;
0089 }
0090 virtual void find_strip_center(const int , const int , const int , const int , double [])
0091 {
0092 PHOOL_VIRTUAL_WARN("find_strip_center");
0093 return;
0094 }
0095 virtual void find_strip_index_values(const int , const double , const double , int & , int & )
0096 {
0097 PHOOL_VIRTUAL_WARN("find_strip_index_values");
0098 return;
0099 }
0100 virtual void find_strip_center_local_coords(const int , const int , const int , double [])
0101 {
0102 PHOOL_VIRTUAL_WARN("find_strip_center_localcoords");
0103 return;
0104 }
0105
0106 virtual double get_strip_y_spacing() const
0107 {
0108 PHOOL_VIRTUAL_WARN("get_strip_y_spacing");
0109 return NAN;
0110 }
0111
0112
0113
0114
0115
0116 virtual double get_strip_z_spacing(const int) const
0117 {
0118 PHOOL_VIRTUAL_WARN("get_strip_z_spacing");
0119 return NAN;
0120 }
0121 virtual double get_strip_tilt() const
0122 {
0123 PHOOL_VIRTUAL_WARN("get_strip_tilt");
0124 return NAN;
0125 }
0126
0127 virtual int get_N_strip_columns() const
0128 {
0129 PHOOL_VIRTUAL_WARN("get_N_strip_columns");
0130 return -9999;
0131 }
0132 virtual int get_N_strips_per_column() const
0133 {
0134 PHOOL_VIRTUAL_WARN("get_N_strips_per_column");
0135 return -9999;
0136 }
0137 virtual int get_N_sensors_in_layer() const
0138 {
0139 PHOOL_VIRTUAL_WARN("get_N_sensors_in_layer");
0140 return -9999;
0141 }
0142
0143 virtual double get_pixel_z() const
0144 {
0145 PHOOL_VIRTUAL_WARN("get_pixel_z");
0146 return NAN;
0147 }
0148 virtual double get_pixel_x() const
0149 {
0150 PHOOL_VIRTUAL_WARN("get_pixel_x");
0151 return NAN;
0152 }
0153 virtual double get_pixel_thickness() const
0154 {
0155 PHOOL_VIRTUAL_WARN("get_pixel_thickness");
0156 return NAN;
0157 }
0158
0159
0160 virtual void ImportParameters(const PHParameters & ) { return; }
0161
0162 protected:
0163 PHG4CylinderGeom() {}
0164
0165 ClassDefOverride(PHG4CylinderGeom, 1)
0166 };
0167
0168 #endif