25 #ifndef ROOT_TMVA_TNeuronInputChooser
26 #define ROOT_TMVA_TNeuronInputChooser
41 #ifndef ROOT_TMVA_TActivation
42 #ifndef ROOT_TNeuronInput
46 #ifndef ROOT_TMVA_TNeuronInputSum
47 #ifndef ROOT_TNeuronInputSum
51 #ifndef ROOT_TMVA_TNeuronInputSqSum
52 #ifndef ROOT_TNeuronInputSqSum
56 #ifndef ROOT_TMVA_TNeuronInputAbs
57 #ifndef ROOT_TNeuronInputAbs
66 class TNeuronInputChooser {
76 virtual ~TNeuronInputChooser() {}
78 enum ENeuronInputType { kSum = 0,
83 TNeuronInput* CreateNeuronInput(ENeuronInputType type)
const
86 case kSum:
return new TNeuronInputSum();
87 case kSqSum:
return new TNeuronInputSqSum();
88 case kAbsSum:
return new TNeuronInputAbs();
94 TNeuronInput* CreateNeuronInput(
const TString type)
const
96 if (type == fSUM)
return CreateNeuronInput(kSum);
97 else if (type == fSQSUM)
return CreateNeuronInput(kSqSum);
98 else if (type == fABSSUM)
return CreateNeuronInput(kAbsSum);
102 std::vector<TString>* GetAllNeuronInputNames()
const
104 std::vector<TString>* names =
new std::vector<TString>();
105 names->push_back(fSUM);
106 names->push_back(fSQSUM);
107 names->push_back(fABSSUM);
117 ClassDef(TNeuronInputChooser,0);