LCFIVertex  0.7.2
RangeMappingNormaliser.h
1 #ifndef RANGEMAPPINGNORMALISER_H
2 #define RANGEMAPPINGNORMALISER_H
3 
4 #include "NeuralNetConfig.h"
5 #include "InputNormaliser.h"
6 
7 #include <iostream>
8 #include <string>
9 
10 //namespace nnet added 15/08/06 by Mark Grimes (mark.grimes@bristol.ac.uk) for the LCFI vertex package
11 namespace nnet
12 {
13 
14 class NEURALNETDLL RangeMappingNormaliser :
15  public InputNormaliser
16 {
17 public:
18  RangeMappingNormaliser(const double inputRangeMin,const double inputRangeMax,
19  const double outputRangeMin,const double outputRangeMax,
20  const NeuralNet *parentNetwork);
22 
23  double normalisedValue(const double input) const;
24  std::string name() const {return "RangeMappingNormaliser";}
25  void serialise(std::ostream &os) const;
26  InputNormaliser *clone(const NeuralNet *newNetwork) const;
27 
28 private:
29  double _inputMin;
30  double _inputRange;
31  double _outputMin;
32  double _outputRange;
33 };
34 
35 }//namespace nnet
36 
37 #endif