Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 09:19:45

0001 #ifndef CALOBASE_RAWTOWERGEO_H
0002 #define CALOBASE_RAWTOWERGEO_H
0003 
0004 #include "RawTowerDefs.h"
0005 
0006 #include <phool/PHObject.h>
0007 #include <phool/phool.h>
0008 
0009 #include <iostream>
0010 #include <limits>
0011 #include <vector>
0012 
0013 class RawTowerGeom : public PHObject
0014 {
0015  public:
0016   ~RawTowerGeom() override = default;
0017 
0018   RawTowerGeom(const RawTowerGeom& /*geom*/) = default;;
0019 
0020   void identify(std::ostream& os = std::cout) const override;
0021 
0022   virtual void set_id(RawTowerDefs::keytype) { PHOOL_VIRTUAL_WARN("set_id()"); }
0023 
0024   virtual RawTowerDefs::keytype get_id() const
0025   {
0026     PHOOL_VIRTUAL_WARN("get_id()");
0027     return 0;
0028   }
0029 
0030   virtual int get_bineta() const
0031   {
0032     PHOOL_VIRTUAL_WARN("get_ieta()");
0033     return -1;
0034   }
0035 
0036   virtual int get_binphi() const
0037   {
0038     PHOOL_VIRTUAL_WARN("get_iphi()");
0039     return -1;
0040   }
0041 
0042   virtual int get_binl() const
0043   {
0044     PHOOL_VIRTUAL_WARN("get_binl()");
0045     return -1;
0046   }
0047 
0048   virtual int get_column() const
0049   {
0050     PHOOL_VIRTUAL_WARN("get_column()");
0051     return -1;
0052   }
0053 
0054   virtual int get_row() const
0055   {
0056     PHOOL_VIRTUAL_WARN("get_row()");
0057     return -1;
0058   }
0059 
0060   virtual void set_center_x(double)
0061   {
0062     PHOOL_VIRTUAL_WARN("set_center_x()");
0063     return;
0064   }
0065 
0066   virtual void set_center_y(double)
0067   {
0068     PHOOL_VIRTUAL_WARN("set_center_y()");
0069     return;
0070   }
0071 
0072   virtual void set_center_z(double)
0073   {
0074     PHOOL_VIRTUAL_WARN("set_center_z()");
0075     return;
0076   }
0077 
0078   virtual void set_vertices(const std::vector<double>&)
0079   {
0080     PHOOL_VIRTUAL_WARN("set_vertices()");
0081     return;
0082   }
0083 
0084   virtual void compute_vertices(const std::vector<std::pair<double, double>>&,
0085                                 const std::pair<double, double>&,
0086                                 const double&,
0087                                 const double&)
0088   {
0089     PHOOL_VIRTUAL_WARN("compute_vertices()");
0090     return;
0091   }
0092 
0093   virtual void set_size_x(double)
0094   {
0095     PHOOL_VIRTUAL_WARN("set_size_x()");
0096     return;
0097   }
0098 
0099   virtual void set_size_y(double)
0100   {
0101     PHOOL_VIRTUAL_WARN("set_size_y()");
0102     return;
0103   }
0104 
0105   virtual void set_size_z(double)
0106   {
0107     PHOOL_VIRTUAL_WARN("set_size_z()");
0108     return;
0109   }
0110 
0111   virtual double get_center_x() const
0112   {
0113     PHOOL_VIRTUAL_WARN("get_center_x()");
0114     return std::numeric_limits<float>::quiet_NaN();
0115   }
0116 
0117   virtual double get_center_y() const
0118   {
0119     PHOOL_VIRTUAL_WARN("get_center_y()");
0120     return std::numeric_limits<float>::quiet_NaN();
0121   }
0122 
0123   virtual double get_center_z() const
0124   {
0125     PHOOL_VIRTUAL_WARN("get_center_z()");
0126     return std::numeric_limits<float>::quiet_NaN();
0127   }
0128 
0129   virtual double get_center_int_x() const
0130   {
0131     PHOOL_VIRTUAL_WARN("get_center_int_x()");
0132     return std::numeric_limits<float>::quiet_NaN();
0133   }
0134 
0135   virtual double get_center_int_y() const
0136   {
0137     PHOOL_VIRTUAL_WARN("get_center_int_y()");
0138     return std::numeric_limits<float>::quiet_NaN();
0139   }
0140 
0141   virtual double get_center_int_z() const
0142   {
0143     PHOOL_VIRTUAL_WARN("get_center_int_z()");
0144     return std::numeric_limits<float>::quiet_NaN();
0145   }
0146 
0147   virtual double get_center_ext_x() const
0148   {
0149     PHOOL_VIRTUAL_WARN("get_center_ext_x()");
0150     return std::numeric_limits<float>::quiet_NaN();
0151   }
0152 
0153   virtual double get_center_ext_y() const
0154   {
0155     PHOOL_VIRTUAL_WARN("get_center_ext_y()");
0156     return std::numeric_limits<float>::quiet_NaN();
0157   }
0158 
0159   virtual double get_center_ext_z() const
0160   {
0161     PHOOL_VIRTUAL_WARN("get_center_ext_z()");
0162     return std::numeric_limits<float>::quiet_NaN();
0163   }
0164 
0165   virtual double get_center_low_eta_x() const
0166   {
0167     PHOOL_VIRTUAL_WARN("get_center_low_eta_x()");
0168     return std::numeric_limits<float>::quiet_NaN();
0169   }
0170 
0171   virtual double get_center_low_eta_y() const
0172   {
0173     PHOOL_VIRTUAL_WARN("get_center_low_eta_y()");
0174     return std::numeric_limits<float>::quiet_NaN();
0175   }
0176 
0177   virtual double get_center_low_eta_z() const
0178   {
0179     PHOOL_VIRTUAL_WARN("get_center_low_eta_z()");
0180     return std::numeric_limits<float>::quiet_NaN();
0181   }
0182 
0183   virtual double get_center_high_eta_x() const
0184   {
0185     PHOOL_VIRTUAL_WARN("get_center_high_eta_x()");
0186     return std::numeric_limits<float>::quiet_NaN();
0187   }
0188 
0189   virtual double get_center_high_eta_y() const
0190   {
0191     PHOOL_VIRTUAL_WARN("get_center_high_eta_y()");
0192     return std::numeric_limits<float>::quiet_NaN();
0193   }
0194 
0195   virtual double get_center_high_eta_z() const
0196   {
0197     PHOOL_VIRTUAL_WARN("get_center_high_eta_z()");
0198     return std::numeric_limits<float>::quiet_NaN();
0199   }
0200 
0201   virtual double get_center_low_phi_x() const
0202   {
0203     PHOOL_VIRTUAL_WARN("get_center_low_phi_x()");
0204     return std::numeric_limits<float>::quiet_NaN();
0205   }
0206 
0207   virtual double get_center_low_phi_y() const
0208   {
0209     PHOOL_VIRTUAL_WARN("get_center_low_phi_y()");
0210     return std::numeric_limits<float>::quiet_NaN();
0211   }
0212 
0213   virtual double get_center_low_phi_z() const
0214   {
0215     PHOOL_VIRTUAL_WARN("get_center_low_phi_z()");
0216     return std::numeric_limits<float>::quiet_NaN();
0217   }
0218 
0219   virtual double get_center_high_phi_x() const
0220   {
0221     PHOOL_VIRTUAL_WARN("get_center_high_phi_x()");
0222     return std::numeric_limits<float>::quiet_NaN();
0223   }
0224 
0225   virtual double get_center_high_phi_y() const
0226   {
0227     PHOOL_VIRTUAL_WARN("get_center_high_phi_y()");
0228     return std::numeric_limits<float>::quiet_NaN();
0229   }
0230 
0231   virtual double get_center_high_phi_z() const
0232   {
0233     PHOOL_VIRTUAL_WARN("get_center_high_phi_z()");
0234     return std::numeric_limits<float>::quiet_NaN();
0235   }
0236 
0237   virtual double get_vertex_x(int) const
0238   {
0239     PHOOL_VIRTUAL_WARN("get_vertex_x()");
0240     return std::numeric_limits<float>::quiet_NaN();
0241   }
0242 
0243   virtual double get_vertex_y(int) const
0244   {
0245     PHOOL_VIRTUAL_WARN("get_vertex_y()");
0246     return std::numeric_limits<float>::quiet_NaN();
0247   }
0248 
0249   virtual double get_vertex_z(int) const
0250   {
0251     PHOOL_VIRTUAL_WARN("get_vertex_z()");
0252     return std::numeric_limits<float>::quiet_NaN();
0253   }
0254 
0255   virtual double get_size_x() const
0256   {
0257     PHOOL_VIRTUAL_WARN("get_size_x()");
0258     return std::numeric_limits<float>::quiet_NaN();
0259   }
0260 
0261   virtual double get_size_y() const
0262   {
0263     PHOOL_VIRTUAL_WARN("get_size_y()");
0264     return std::numeric_limits<float>::quiet_NaN();
0265   }
0266 
0267   virtual double get_size_z() const
0268   {
0269     PHOOL_VIRTUAL_WARN("get_size_z()");
0270     return std::numeric_limits<float>::quiet_NaN();
0271   }
0272 
0273   virtual double get_volume() const
0274   {
0275     PHOOL_VIRTUAL_WARN("get_volume()");
0276     return std::numeric_limits<float>::quiet_NaN();
0277   }
0278 
0279   virtual double get_center_radius() const
0280   {
0281     PHOOL_VIRTUAL_WARN("get_center_radius()");
0282     return std::numeric_limits<float>::quiet_NaN();
0283   }
0284 
0285   virtual double get_eta() const
0286   {
0287     PHOOL_VIRTUAL_WARN("get_eta()");
0288     return std::numeric_limits<float>::quiet_NaN();
0289   }
0290 
0291   virtual double get_theta() const
0292   {
0293     PHOOL_VIRTUAL_WARN("get_theta()");
0294     return std::numeric_limits<float>::quiet_NaN();
0295   }
0296 
0297   virtual double get_phi() const
0298   {
0299     PHOOL_VIRTUAL_WARN("get_phi()");
0300     return std::numeric_limits<float>::quiet_NaN();
0301   }
0302 
0303   virtual void set_tower_type(int)
0304   {
0305     PHOOL_VIRTUAL_WARN("set_tower_type()");
0306     return;
0307   }
0308   virtual int get_tower_type() const
0309   {
0310     PHOOL_VIRTUAL_WARN("get_tower_type()");
0311     return -1;
0312   }
0313 
0314   virtual double get_rotx() const
0315   {
0316     PHOOL_VIRTUAL_WARN("get_rotx()");
0317     return std::numeric_limits<float>::quiet_NaN();
0318   }
0319   virtual double get_roty() const
0320   {
0321     PHOOL_VIRTUAL_WARN("get_roty()");
0322     return std::numeric_limits<float>::quiet_NaN();
0323   }
0324   virtual double get_rotz() const
0325   {
0326     PHOOL_VIRTUAL_WARN("get_rotz()");
0327     return std::numeric_limits<float>::quiet_NaN();
0328   }
0329 
0330   virtual void set_rotx(double)
0331   {
0332     PHOOL_VIRTUAL_WARN("set_rotx()");
0333     return;
0334   }
0335   virtual void set_roty(double)
0336   {
0337     PHOOL_VIRTUAL_WARN("set_roty()");
0338     return;
0339   }
0340   virtual void set_rotz(double)
0341   {
0342     PHOOL_VIRTUAL_WARN("set_rotz()");
0343     return;
0344   }
0345 
0346  protected:
0347   RawTowerGeom() = default;
0348 
0349   ClassDefOverride(RawTowerGeom, 2)
0350 };
0351 
0352 #endif