Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-12-17 09:21:43

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef G4DETECTORS_PHG4TPCGEOM_H
0004 #define G4DETECTORS_PHG4TPCGEOM_H
0005 
0006 #include <phool/PHObject.h>
0007 
0008 #include <phool/phool.h>
0009 
0010 #include <cmath>
0011 #include <iostream>  // for cout, ostream
0012 #include <array>
0013 
0014 class PHParameters;
0015 
0016 class PHG4TpcGeom : public PHObject
0017 {
0018  public:
0019   ~PHG4TpcGeom() = default;
0020 
0021   // from PHObject
0022   void identify(std::ostream &os = std::cout) const override;
0023   
0024   virtual int get_layer() const
0025   {
0026     PHOOL_VIRTUAL_WARN("get_layer()");
0027     return -99999;
0028   }
0029   virtual double get_radius() const
0030   {
0031     PHOOL_VIRTUAL_WARN("get_radius()");
0032     return NAN;
0033   }
0034   virtual double get_thickness() const
0035   {
0036     PHOOL_VIRTUAL_WARN("get_thickness()");
0037     return NAN;
0038   }
0039   virtual double get_zmin() const
0040   {
0041     PHOOL_VIRTUAL_WARN("get_zmin()");
0042     return NAN;
0043   }
0044   virtual double get_zmax() const
0045   {
0046     PHOOL_VIRTUAL_WARN("get_zmax()");
0047     return NAN;
0048   }
0049   virtual int get_binning() const
0050   {
0051     PHOOL_VIRTUAL_WARN("get_binning()");
0052     return -99999;
0053   }
0054   virtual int get_zbins() const
0055   {
0056     PHOOL_VIRTUAL_WARN("get_zbins()");
0057     return -99999;
0058   }
0059   virtual int get_phibins() const
0060   {
0061     PHOOL_VIRTUAL_WARN("get_phibins()");
0062     return -99999;
0063   }
0064   virtual double get_phistep() const
0065   {
0066     PHOOL_VIRTUAL_WARN("get_phistep()");
0067     return NAN;
0068   }
0069   virtual double get_phimin() const
0070   {
0071     PHOOL_VIRTUAL_WARN("get_phimin()");
0072     return NAN;
0073   }
0074   virtual double get_zstep() const
0075   {
0076     PHOOL_VIRTUAL_WARN("get_zstep()");
0077     return NAN;
0078   }
0079   virtual int get_etabins() const
0080   {
0081     PHOOL_VIRTUAL_WARN("get_etabins()");
0082     return -99999;
0083   }
0084   virtual double get_etastep() const
0085   {
0086     PHOOL_VIRTUAL_WARN("get_etastep()");
0087     return NAN;
0088   }
0089   virtual double get_etamin() const
0090   {
0091     PHOOL_VIRTUAL_WARN("get_etamin()");
0092     return NAN;
0093   }
0094   virtual double get_max_driftlength() const
0095   {
0096     PHOOL_VIRTUAL_WARN("get_max_driftlength()");
0097     return NAN;
0098   }
0099   virtual double get_CM_halfwidth() const
0100   {
0101     PHOOL_VIRTUAL_WARN("get_CM_halfwidth()");
0102     return NAN;
0103   }
0104   virtual double get_adc_clock() const
0105   {
0106     PHOOL_VIRTUAL_WARN("get_adc_clock()");
0107     return NAN;
0108   }
0109   virtual double get_extended_readout_time() const
0110   {
0111     PHOOL_VIRTUAL_WARN("get_extended_readout_time()");
0112     return NAN;
0113   }
0114   virtual double get_drift_velocity_sim() const
0115   {
0116     PHOOL_VIRTUAL_WARN("get_drift_velocity_sim()");
0117     return NAN;
0118   }
0119   virtual std::pair<double, double> get_zbounds(const int) const
0120   {
0121     PHOOL_VIRTUAL_WARN("get_zbounds()");
0122     return std::make_pair(NAN,NAN);
0123   }
0124   virtual std::pair<double, double> get_phibounds(const int) const
0125    {
0126     PHOOL_VIRTUAL_WARN("get_zbounds()");
0127     return std::make_pair(NAN,NAN);
0128   }
0129   virtual std::pair<double, double> get_etabounds(const int) const
0130    {
0131     PHOOL_VIRTUAL_WARN("get_zbounds()");
0132     return std::make_pair(NAN,NAN);
0133   }
0134   virtual double get_etacenter(const int) const
0135   {
0136     PHOOL_VIRTUAL_WARN("get_etacenter()");
0137     return NAN;
0138   }
0139   virtual double get_zcenter(const int) const
0140   {
0141     PHOOL_VIRTUAL_WARN("get_zcenter()");
0142     return NAN;
0143   }    
0144   virtual double get_phicenter(const int, const int=0) const
0145   {
0146     PHOOL_VIRTUAL_WARN("get_phicenter()");
0147     return NAN;
0148   }
0149   virtual double get_phicenter_new(const int) const
0150   {
0151     PHOOL_VIRTUAL_WARN("get_phicenter_new()");
0152     return NAN;
0153   }
0154   virtual double get_phi(const float, const int) const
0155   {
0156     PHOOL_VIRTUAL_WARN("get_phi()");
0157     return NAN;
0158   }
0159   virtual int get_etabin(const double) const
0160   {
0161     PHOOL_VIRTUAL_WARN("get_etabin()");
0162     return -99999;
0163   }
0164   virtual int get_zbin(const double) const
0165   {
0166     PHOOL_VIRTUAL_WARN("get_zbin()");
0167     return -99999;
0168   }
0169   virtual int get_phibin(const double, int=0) const
0170   {
0171     PHOOL_VIRTUAL_WARN("get_phibin()");
0172     return -99999;
0173   }
0174   virtual int get_phibin_new(const double) const
0175   {
0176     PHOOL_VIRTUAL_WARN("get_phibin_new()");
0177     return -99999;
0178   }
0179   virtual float get_pad_float(const double, int) const
0180   {
0181     PHOOL_VIRTUAL_WARN("get_pad_float()");
0182     return -99999;
0183   }
0184   virtual float get_tbin_float(const double) const
0185   {
0186     PHOOL_VIRTUAL_WARN("get_tbin_float()");
0187     return -99999;
0188   }
0189   virtual int find_phibin(const double, int) const
0190   {
0191     PHOOL_VIRTUAL_WARN("get_phibin()");
0192     return -99999;
0193   }
0194 
0195   virtual const std::array<std::vector<double>, 2> &get_sector_min_phi();
0196   virtual const std::array<std::vector<double>, 2> &get_sector_max_phi();
0197 
0198   virtual void set_sector_min_phi(const std::array<std::vector<double>, 2>&)
0199   {
0200     PHOOL_VIRTUAL_WARN("set_sector_min_phi(const std::array<std::vector<double>, 2>&)");
0201   }
0202   virtual void set_sector_max_phi(const std::array<std::vector<double>, 2>&)
0203   {
0204     PHOOL_VIRTUAL_WARN("set_sector_max_phi(const std::array<std::vector<double>, 2>&)");
0205   }
0206   virtual void set_r_bias(const std::array<std::vector<double>, 2> &)
0207   {
0208     PHOOL_VIRTUAL_WARN("set_r_bias(const std::array<std::vector<double>, 2>&)");  
0209   }
0210   virtual void set_phi_bias(const std::array<std::vector<double>, 2> &)
0211   {
0212     PHOOL_VIRTUAL_WARN("set_phi_bias(const std::array<std::vector<double>, 2>&)");  
0213   }
0214   
0215   virtual void set_layer(const int) { PHOOL_VIRTUAL_WARN("set_layer(const int)"); }
0216   virtual void set_radius(const double) { PHOOL_VIRTUAL_WARN("set_radius(const double)"); }
0217   virtual void set_thickness(const double) { PHOOL_VIRTUAL_WARN("set_thickness(const double)"); }
0218   virtual void set_zmin(const double) { PHOOL_VIRTUAL_WARN("set_zmin(const double)"); }
0219   virtual void set_zmax(const double) { PHOOL_VIRTUAL_WARN("set_zmax(const double)"); }
0220   
0221   virtual void set_binning(const int) { PHOOL_VIRTUAL_WARN("set_binning(const int)"); }
0222   virtual void set_zbins(const int) { PHOOL_VIRTUAL_WARN("set_zbins(const int)"); }
0223   virtual void set_zstep(const double) { PHOOL_VIRTUAL_WARN("set_zstep(const double)"); }  
0224   virtual void set_phibins(const int) { PHOOL_VIRTUAL_WARN("set_phibins(const int)"); }
0225 
0226   virtual void set_phistep(const double) { PHOOL_VIRTUAL_WARN("set_phistep(const double)"); }  
0227   virtual void set_phimin(const double) { PHOOL_VIRTUAL_WARN("set_phimin(const double)"); }  
0228 
0229 
0230   virtual void set_etabins(const int) { PHOOL_VIRTUAL_WARN("set_etabins(const int)"); }
0231   virtual void set_etamin(const double) { PHOOL_VIRTUAL_WARN("set_etamin(const double)"); }
0232   virtual void set_etamax(const double) { PHOOL_VIRTUAL_WARN("set_etamax(const double)"); }
0233   virtual void set_etastep(const double) { PHOOL_VIRTUAL_WARN("set_etastep(const double)"); }
0234 
0235   virtual void set_max_driftlength(const double) { PHOOL_VIRTUAL_WARN("set_max_driftlength(const double)"); }
0236   virtual void set_CM_halfwidth(const double) { PHOOL_VIRTUAL_WARN("set_CM_halfwidth(const double)"); }
0237   virtual void set_adc_clock(const double) { PHOOL_VIRTUAL_WARN("set_adc_clock(const double)"); }
0238   virtual void set_extended_readout_time(const double) { PHOOL_VIRTUAL_WARN("set_extended_readout_time(const double)"); }
0239   virtual void set_drift_velocity_sim(const double) { PHOOL_VIRTUAL_WARN("set_drift_velocity_sim(const double)"); }
0240   
0241   //! load parameters from PHParameters, which interface to Database/XML/ROOT files
0242   virtual void ImportParameters(const PHParameters & /*param*/) { return; }
0243 
0244  protected:
0245   PHG4TpcGeom() = default;
0246 
0247   ClassDefOverride(PHG4TpcGeom, 1)
0248 };
0249 
0250 #endif