File indexing completed on 2025-08-06 08:17:58
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef PHFIELD_PHFIELDCONFIGV1_H
0012 #define PHFIELD_PHFIELDCONFIGV1_H
0013
0014 #include "PHFieldConfig.h"
0015
0016 #include <iostream>
0017 #include <string>
0018
0019 class PHObject;
0020
0021
0022
0023 class PHFieldConfigv1 : public PHFieldConfig
0024 {
0025 public:
0026 PHFieldConfigv1(
0027 FieldConfigTypes field_config,
0028 const std::string& filename,
0029 double magfield_rescale = 1.);
0030
0031
0032 PHFieldConfigv1()
0033 : PHFieldConfigv1(kFieldInvalid, "INVALID FILE")
0034 {
0035 }
0036
0037 ~PHFieldConfigv1() override {}
0038
0039
0040 PHObject* CloneMe() const override { return new PHFieldConfigv1(*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;
0053
0054 FieldConfigTypes get_field_config() const override
0055 {
0056 return field_config_;
0057 }
0058 void set_field_config(FieldConfigTypes fieldConfig) override
0059 {
0060 field_config_ = fieldConfig;
0061 }
0062
0063 const std::string& get_filename() const override
0064 {
0065 return filename_;
0066 }
0067
0068 void set_filename(const std::string& filename) override
0069 {
0070 filename_ = filename;
0071 }
0072
0073 double get_magfield_rescale() const override
0074 {
0075 return magfield_rescale_;
0076 }
0077
0078 void set_magfield_rescale(double magfieldRescale) override
0079 {
0080 magfield_rescale_ = magfieldRescale;
0081 }
0082
0083
0084 bool operator == (const PHFieldConfig& ) const override;
0085
0086 protected:
0087 FieldConfigTypes field_config_;
0088 std::string filename_;
0089 double magfield_rescale_;
0090
0091 ClassDefOverride(PHFieldConfigv1, 3)
0092 };
0093
0094 #endif