File indexing completed on 2026-06-02 08:51:48
0001 #ifndef XI_CONVERTER_MODULE_H
0002 #define XI_CONVERTER_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 #include "../../utils/type/PhysicalType.h"
0016
0017 namespace PARTONS {
0018
0019
0020
0021
0022
0023
0024 template<typename KinematicType>
0025 class XiConverterModule: public ModuleObject {
0026
0027 public:
0028
0029
0030
0031
0032 virtual ~XiConverterModule() {
0033 }
0034
0035 protected:
0036
0037
0038
0039
0040
0041 XiConverterModule(const std::string &className,
0042 ChannelType::Type channelType) :
0043 ModuleObject(className, channelType) {
0044 }
0045
0046
0047
0048
0049
0050 XiConverterModule(const XiConverterModule &other) :
0051 ModuleObject(other) {
0052 }
0053
0054 virtual XiConverterModule* clone() const = 0;
0055
0056 virtual void initModule() {
0057 }
0058
0059 virtual void isModuleWellConfigured() {
0060 }
0061
0062
0063
0064
0065 virtual PhysicalType<double> compute(const KinematicType& kinematic) = 0;
0066 };
0067
0068 }
0069
0070 #endif