File indexing completed on 2026-06-02 08:51:48
0001 #ifndef SCALES_MODULE_H
0002 #define SCALES_MODULE_H
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include <string>
0012
0013 #include "../../beans/channel/ChannelType.h"
0014 #include "../../ModuleObject.h"
0015
0016 namespace PARTONS {
0017 class Scales;
0018 }
0019
0020 namespace PARTONS {
0021
0022
0023
0024
0025
0026
0027 template<typename KinematicType>
0028 class ScalesModule: public ModuleObject {
0029
0030 public:
0031
0032
0033
0034
0035 virtual ~ScalesModule() {
0036 }
0037
0038 protected:
0039
0040
0041
0042
0043
0044 ScalesModule(const std::string &className, ChannelType::Type channelType) :
0045 ModuleObject(className, channelType) {
0046 }
0047
0048
0049
0050
0051
0052 ScalesModule(const ScalesModule &other) :
0053 ModuleObject(other) {
0054 }
0055
0056 virtual ScalesModule* clone() const = 0;
0057
0058 virtual void initModule() {
0059 }
0060
0061 virtual void isModuleWellConfigured() {
0062 }
0063
0064
0065
0066
0067 virtual Scales compute(const KinematicType& kinematic) = 0;
0068 };
0069
0070 }
0071
0072 #endif