Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:17:45

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
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   // from PHObject
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 /*segment_z_bin*/, const int /*segment_phi_bin*/, double /*location*/[])
0086   {
0087     PHOOL_VIRTUAL_WARN("find_sensor_center");
0088     return;
0089   }
0090   virtual void find_strip_center(const int /*segment_z_bin*/, const int /*segment_phi_bin*/, const int /*strip_column*/, const int /*strip_index*/, double /*location*/[])
0091   {
0092     PHOOL_VIRTUAL_WARN("find_strip_center");
0093     return;
0094   }
0095   virtual void find_strip_index_values(const int /*segment_z_bin*/, const double /*ypos*/, const double /*zpos*/, int & /*strip_y_index*/, int & /*strip_z_index*/)
0096   {
0097     PHOOL_VIRTUAL_WARN("find_strip_index_values");
0098     return;
0099   }
0100   virtual void find_strip_center_local_coords(const int /*segment_z_bin*/, const int /*strip_y_index*/, const int /*strip_z_index*/, double /*location*/[])
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   // virtual double get_strip_z_spacing() const
0112   // {
0113   //   PHOOL_VIRTUAL_WARN("get_strip_z_spacing");
0114   //   return NAN;
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   //! load parameters from PHParameters, which interface to Database/XML/ROOT files
0160   virtual void ImportParameters(const PHParameters & /*param*/) { return; }
0161 
0162  protected:
0163   PHG4CylinderGeom() {}
0164 
0165   ClassDefOverride(PHG4CylinderGeom, 1)
0166 };
0167 
0168 #endif