File indexing completed on 2025-08-06 08:17:58
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef PHFIELD_PHFIELDCONFIGV2_H
0012 #define PHFIELD_PHFIELDCONFIGV2_H
0013
0014 #include "PHFieldConfig.h"
0015
0016 #include <iostream>
0017
0018 class PHObject;
0019
0020
0021
0022 class PHFieldConfigv2 : public PHFieldConfig
0023 {
0024 public:
0025
0026 PHFieldConfigv2(
0027 double field_mag_x,
0028 double field_mag_y,
0029 double field_mag_z);
0030
0031
0032 PHFieldConfigv2()
0033 : PHFieldConfigv2(0, 0, 0)
0034 {
0035 }
0036
0037 ~PHFieldConfigv2() override {}
0038
0039
0040 PHObject* CloneMe() const override { return new PHFieldConfigv2(*this); }
0041
0042
0043
0044
0045 void
0046 identify(std::ostream& os = std::cout) const override;
0047
0048
0049 void Reset() override {}
0050
0051
0052 int isValid() const override { return 3; }
0053
0054 FieldConfigTypes get_field_config() const override
0055 {
0056 return kFieldUniform;
0057 }
0058
0059
0060 double get_field_mag_x() const override
0061 {
0062 return field_mag_x_;
0063 }
0064
0065
0066 void set_field_mag_x(double fieldMagX) override
0067 {
0068 field_mag_x_ = fieldMagX;
0069 }
0070
0071
0072 double get_field_mag_y() const override
0073 {
0074 return field_mag_y_;
0075 }
0076
0077
0078 void set_field_mag_y(double fieldMagY) override
0079 {
0080 field_mag_y_ = fieldMagY;
0081 }
0082
0083
0084 double get_field_mag_z() const override
0085 {
0086 return field_mag_z_;
0087 }
0088
0089
0090 void set_field_mag_z(double fieldMagZ) override
0091 {
0092 field_mag_z_ = fieldMagZ;
0093 }
0094
0095
0096 bool operator == (const PHFieldConfig& ) const override;
0097
0098 protected:
0099 double field_mag_x_;
0100 double field_mag_y_;
0101 double field_mag_z_;
0102
0103 ClassDefOverride(PHFieldConfigv2, 1)
0104 };
0105
0106 #endif