File indexing completed on 2025-08-05 08:16:49
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef PHFIELD_PHFIELDCONFIG_H
0010 #define PHFIELD_PHFIELDCONFIG_H
0011
0012 #include <phool/PHObject.h>
0013
0014 #include <iostream>
0015 #include <limits>
0016 #include <string>
0017
0018
0019
0020 class PHFieldConfig : public PHObject
0021 {
0022 public:
0023 ~PHFieldConfig() override {}
0024
0025
0026
0027
0028 void identify(std::ostream& os = std::cout) const override;
0029
0030 enum FieldConfigTypes
0031 {
0032
0033 kFieldUniform = 0,
0034
0035 kField2D = 2,
0036
0037 kField3DCylindrical = 3,
0038
0039 kFieldBeast = 4,
0040
0041 kFieldCleo = 5,
0042
0043 Field3DCartesian = 1,
0044
0045
0046 kFieldInvalid = 9999
0047 };
0048
0049 virtual FieldConfigTypes get_field_config() const { return kFieldInvalid; }
0050
0051 std::string get_field_config_description() const;
0052
0053 virtual void set_field_config(FieldConfigTypes ) { return; }
0054
0055 virtual const std::string& get_filename() const { return kInvalid_FileName; }
0056
0057 virtual void set_filename(const std::string& ) { return; }
0058
0059 virtual double get_magfield_rescale() const { return std::numeric_limits<double>::signaling_NaN(); }
0060
0061 virtual void set_magfield_rescale(double ) { return; }
0062
0063
0064 virtual double get_field_mag_x() const { return std::numeric_limits<double>::signaling_NaN(); }
0065
0066
0067 virtual void set_field_mag_x(double ) { return; }
0068
0069
0070 virtual double get_field_mag_y() const { return std::numeric_limits<double>::signaling_NaN(); }
0071
0072
0073 virtual void set_field_mag_y(double ) { return; }
0074
0075
0076 virtual double get_field_mag_z() const { return std::numeric_limits<double>::signaling_NaN(); }
0077
0078
0079 virtual void set_field_mag_z(double ) { return; }
0080
0081
0082 virtual bool operator == (const PHFieldConfig& ) const
0083 { return false; }
0084
0085 protected:
0086
0087 PHFieldConfig() {}
0088
0089 static const std::string kInvalid_FileName;
0090
0091 ClassDefOverride(PHFieldConfig, 1)
0092 };
0093
0094 #endif