LCFIVertex  0.7.2
TanSigmoidNeuronBuilder.h
1 #ifndef TANSIGMOIDNEURONBUILDER_H
2 #define TANSIGMOIDNEURONBUILDER_H
3 
4 #include "NeuralNetConfig.h"
5 #include "NeuronBuilder.h"
6 
7 #include <string>
8 #include <vector>
9 
10 #ifdef __CINT__
11 #include "Neuron.h"
12 #else
13 //namespace nnet added 15/08/06 by Mark Grimes (mark.grimes@bristol.ac.uk) for the LCFI vertex package
14 namespace nnet
15 {
16 class Neuron;
17 }
18 #endif
19 
20 //namespace nnet added 15/08/06 by Mark Grimes (mark.grimes@bristol.ac.uk) for the LCFI vertex package
21 namespace nnet
22 {
23 
24 class
25 #ifndef __CINT__
26 NEURALNETDLL
27 #endif
29  : public NeuronBuilder
30 {
31 public:
34  Neuron *buildNeuron(const int numberOfInputs,const double bias=-1.0) const;
35  Neuron *buildNeuron(const int numberOfInputs,const std::vector<double> &constructionData) const;
36  void setConstructedNeuronScale(const double scale)
37  { _scale = scale;}
38  std::string buildsType() const
39  { return "TanSigmoidNeuron";}
40 
41 private:
42  double _scale;
43 };
44 
45 }//namespace nnet
46 
47 #endif