35 std::vector<eis::Range> ranges;
36 std::string uniqueName;
39 virtual std::complex<fvalue> execute(fvalue omega)
42 std::cout<<
"warning incompleat model\n";
43 return std::complex<fvalue> (1,0);
46 virtual void setParamRanges(
const std::vector<eis::Range>& ranges);
47 virtual std::vector<eis::Range>& getParamRanges();
48 virtual std::vector<eis::Range> getParamRanges()
const;
49 virtual std::vector<eis::Range> getDefaultParameters(
bool range =
true)
const;
50 virtual size_t paramCount()
const {
return 0;};
52 virtual char getComponantChar()
const = 0;
53 virtual std::string getComponantString(
bool currentValue =
true)
const;
54 virtual std::string componantName()
const = 0;
55 virtual std::string getCode(std::vector<std::string>& parameters);
56 virtual std::string getTorchScript(std::vector<std::string>& parameters);
57 virtual bool compileable();
59 std::string getUniqueName();
62 static Componant* createNewComponant(
char componant, std::string paramStr =
"",
size_t count = 1,
bool defaultToRange =
false);
63 static bool isValidComponantChar(
char componant);