Logo ROOT   6.16/01
Reference Guide
TNeuronInputAbs.h
Go to the documentation of this file.
1// @(#)root/tmva $Id$
2// Author: Matt Jachowski
3
4/**********************************************************************************
5 * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6 * Package: TMVA *
7 * Class : TMVA::TNeuronInputAbs *
8 * Web : http://tmva.sourceforge.net *
9 * *
10 * Description: *
11 * TNeuron input calculator -- calculates the sum of the absolute values *
12 * of the weighted inputs *
13 * *
14 * Authors (alphabetical): *
15 * Matt Jachowski <jachowski@stanford.edu> - Stanford University, USA *
16 * *
17 * Copyright (c) 2005: *
18 * CERN, Switzerland *
19 * *
20 * Redistribution and use in source and binary forms, with or without *
21 * modification, are permitted according to the terms listed in LICENSE *
22 * (http://tmva.sourceforge.net/LICENSE) *
23 **********************************************************************************/
24
25
26#ifndef ROOT_TMVA_TNeuronInputAbs
27#define ROOT_TMVA_TNeuronInputAbs
28
29//////////////////////////////////////////////////////////////////////////
30// //
31// TNeuronInputAbs //
32// //
33// TNeuron input calculator -- calculates the sum of the absolute //
34// values of the weighted inputs //
35// //
36//////////////////////////////////////////////////////////////////////////
37
38// ROOT_VERSION(5,15,02) = (5<<16)+(15<<8)+2 = 364802
39// we use the hardcoded number here since CINT does not easily understand macros
40// we tried using rootcints -p option, but that causes rootcint to pick up
41// things from the ROOT version of TMVA
42
43// #if ROOT_VERSION_CODE >= 364802
44#include "TMathBase.h"
45// #else
46// #ifndef ROOT_TMath
47// #include "TMath.h"
48// #endif
49// #endif
50
51#include "TObject.h"
52#include "TString.h"
53
54#include "TMVA/TNeuronInput.h"
55
56#include "TMVA/TNeuron.h"
57
58namespace TMVA {
59
61
62 public:
63
65 virtual ~TNeuronInputAbs() {}
66
67 // calculate the input value for the neuron
68 Double_t GetInput( const TNeuron* neuron ) const {
69 if (neuron->IsInputNeuron()) return 0;
70 Double_t result = 0;
71 for (Int_t i=0; i < neuron->NumPreLinks(); i++)
72 result += TMath::Abs(neuron->PreLinkAt(i)->GetWeightedValue());
73 return result;
74 }
75
76 // name of the class
77 TString GetName() { return "Sum of weighted activations (absolute value)"; }
78
79 ClassDef(TNeuronInputAbs,0); // Calculates the sum of the absolute values of the weighted inputs
80 };
81
82} // namespace TMVA
83
84#endif
int Int_t
Definition: RtypesCore.h:41
double Double_t
Definition: RtypesCore.h:55
#define ClassDef(name, id)
Definition: Rtypes.h:324
TNeuron input calculator – calculates the sum of the absolute values of the weighted inputs.
Double_t GetInput(const TNeuron *neuron) const
Interface for TNeuron input calculation classes.
Definition: TNeuronInput.h:42
Neuron class used by TMVA artificial neural network methods.
Definition: TNeuron.h:49
Bool_t IsInputNeuron() const
Definition: TNeuron.h:116
Int_t NumPreLinks() const
Definition: TNeuron.h:108
TSynapse * PreLinkAt(Int_t index) const
Definition: TNeuron.h:110
Double_t GetWeightedValue()
get output of pre-neuron weighted by synapse weight
Definition: TSynapse.cxx:77
Basic string class.
Definition: TString.h:131
Abstract ClassifierFactory template that handles arbitrary types.
Short_t Abs(Short_t d)
Definition: TMathBase.h:120