EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHFieldConfig.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHFieldConfig.h
1 
9 #ifndef PHFIELD_PHFIELDCONFIG_H
10 #define PHFIELD_PHFIELDCONFIG_H
11 
12 #include <phool/PHObject.h>
13 
14 #include <iostream>
15 #include <limits>
16 #include <string>
17 
20 class PHFieldConfig : public PHObject
21 {
22  public:
23  ~PHFieldConfig() override {}
24 
28  void identify(std::ostream& os = std::cout) const override;
29 
31  {
35  kField2D = 2,
44 
47  };
48 
49  virtual FieldConfigTypes get_field_config() const { return kFieldInvalid; }
50 
51  std::string get_field_config_description() const;
52 
53  virtual void set_field_config(FieldConfigTypes /*fieldConfig*/) { return; }
54 
55  virtual const std::string& get_filename() const { return kInvalid_FileName; }
56 
57  virtual void set_filename(const std::string& /*filename*/) { return; }
58 
59  virtual double get_magfield_rescale() const { return std::numeric_limits<double>::signaling_NaN(); }
60 
61  virtual void set_magfield_rescale(double /*magfieldRescale*/) { return; }
62 
64  virtual double get_field_mag_x() const { return std::numeric_limits<double>::signaling_NaN(); }
65 
67  virtual void set_field_mag_x(double /*fieldMagX*/) { return; }
68 
70  virtual double get_field_mag_y() const { return std::numeric_limits<double>::signaling_NaN(); }
71 
73  virtual void set_field_mag_y(double /*fieldMagY*/) { return; }
74 
76  virtual double get_field_mag_z() const { return std::numeric_limits<double>::signaling_NaN(); }
78  virtual void set_field_mag_z(double /*fieldMagZ*/) { return; }
79 
80  protected:
83 
84  static const std::string kInvalid_FileName;
85 
86  ClassDefOverride(PHFieldConfig, 1)
87 };
88 
89 #endif