LCFIVertex  0.7.2
InputNormaliserBuilder.h
1 #ifndef INPUTNORMALISERBUILDER_H
2 #define INPUTNORMALISERBUILDER_H
3 
4 #include "NeuralNetConfig.h"
5 #include <string>
6 #include <vector>
7 
8 //namespace nnet added 15/08/06 by Mark Grimes (mark.grimes@bristol.ac.uk) for the LCFI vertex package
9 namespace nnet
10 {
11 
12 class InputNormaliser;
13 class NeuralNet;
14 
15 class NEURALNETDLL InputNormaliserBuilder
16 {
17 public:
18  InputNormaliserBuilder(const NeuralNet *parentNetwork) : _parentNetwork(parentNetwork) {}
19  virtual ~InputNormaliserBuilder(void) {}
20 
21  virtual std::string buildsType() const = 0;
22  virtual InputNormaliser *buildNormaliser(const std::vector<double> &constructionData) const = 0;
23 
24 protected:
25  const NeuralNet *_parentNetwork;
26 };
27 
28 }//namespace nnet
29 
30 #endif