/Home/aooliver/hepsoft/lcdroot/LCDRootApps/PhUtil/src/LCDNNHFSelect.c File Reference

#include <math.h>

Go to the source code of this file.

Classes

struct  UT

Defines

#define Act_Logistic(sum, bias)   ( (sum+bias<10000.0) ? ( 1.0/(1.0 + exp(-sum-bias) ) ) : 0.0 )
#define NULL   (void *)0

Typedefs

typedef UT UnitType
typedef UTpUnit

Functions

int LCDNNHFSelect (float *in, float *out, int init)

Variables

static UnitType Units [13]
static pUnit Sources []
static float Weights []
static UnitType Units [13]


Define Documentation

#define Act_Logistic sum,
bias   )     ( (sum+bias<10000.0) ? ( 1.0/(1.0 + exp(-sum-bias) ) ) : 0.0 )
 

Definition at line 20 of file LCDNNHFSelect.c.

#define NULL   (void *)0
 

Definition at line 22 of file LCDNNHFSelect.c.

Referenced by G__G__LCDPhUtil_277_1_0(), G__G__LCDPhUtil_277_2_0(), G__G__LCDPhUtil_308_1_0(), G__G__LCDPhUtil_311_1_0(), G__G__LCDPhUtil_311_2_0(), G__G__LCDPhUtil_315_2_0(), G__G__LCDPhUtil_315_3_0(), G__G__LCDPhUtil_316_1_0(), G__G__LCDPhUtil_316_2_0(), G__G__LCDPhUtil_316_3_0(), G__G__LCDPhUtil_316_4_0(), G__G__LCDPhUtil_316_5_0(), G__G__LCDPhUtil_317_1_0(), G__G__LCDPhUtil_317_2_0(), G__G__LCDPhUtil_317_3_0(), G__G__LCDPhUtil_318_1_0(), G__G__LCDPhUtil_319_1_0(), G__G__LCDPhUtil_319_2_0(), G__G__LCDPhUtil_320_1_0(), G__G__LCDPhUtil_320_2_0(), G__G__LCDPhUtil_320_3_0(), G__G__LCDPhUtil_320_4_0(), G__setup_memfuncLCDEventDisplay(), G__setup_memfuncLCDEventShape(), G__setup_memfuncLCDJetFinder(), G__setup_memfuncLCDTrjPart(), G__setup_memfuncLCDVTopl(), G__setup_memfuncLCDVToplBase(), G__setup_memfuncLCDVToplGhost(), G__setup_memfuncLCDVToplTRK(), G__setup_memfuncLCDVToplVRT(), G__setup_memvarLCDEventDisplay(), G__setup_memvarLCDEventShape(), G__setup_memvarLCDJetFinder(), G__setup_memvarLCDTrjPart(), G__setup_memvarLCDVTopl(), G__setup_memvarLCDVToplBase(), G__setup_memvarLCDVToplGhost(), G__setup_memvarLCDVToplTRK(), and G__setup_memvarLCDVToplVRT().


Typedef Documentation

typedef struct UT * pUnit
 

typedef struct UT UnitType
 


Function Documentation

int LCDNNHFSelect float *  in,
float *  out,
int  init
 

Definition at line 128 of file LCDNNHFSelect.c.

References UT::act, and Units.

00129 {
00130   int member, source;
00131   float sum;
00132   enum{OK, Error, Not_Valid};
00133   pUnit unit;
00134 
00135 
00136   /* layer definition section (names & member units) */
00137 
00138   static pUnit Input[5] = {Units + 1, Units + 2, Units + 3, Units + 4, Units + 5}; /* members */
00139 
00140   static pUnit Hidden1[6] = {Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, Units + 11}; /* members */
00141 
00142   static pUnit Output1[1] = {Units + 12}; /* members */
00143 
00144   static int Output[1] = {12};
00145 
00146   for(member = 0; member < 5; member++) {
00147     Input[member]->act = in[member];
00148   }
00149 
00150   for (member = 0; member < 6; member++) {
00151     unit = Hidden1[member];
00152     sum = 0.0;
00153     for (source = 0; source < unit->NoOfSources; source++) {
00154       sum += unit->sources[source]->act
00155              * unit->weights[source];
00156     }
00157     unit->act = Act_Logistic(sum, unit->Bias);
00158   };
00159 
00160   for (member = 0; member < 1; member++) {
00161     unit = Output1[member];
00162     sum = 0.0;
00163     for (source = 0; source < unit->NoOfSources; source++) {
00164       sum += unit->sources[source]->act
00165              * unit->weights[source];
00166     }
00167     unit->act = Act_Logistic(sum, unit->Bias);
00168   };
00169 
00170   for(member = 0; member < 1; member++) {
00171     out[member] = Units[Output[member]].act;
00172   }
00173 
00174   return(OK);
00175 }


Variable Documentation

pUnit Sources[] [static]
 

Initial value:

  {
Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, 
Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, 
Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, 
Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, 
Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, 
Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, 
Units + 6, Units + 7, Units + 8, Units + 9, Units + 10, Units + 11, 

  }

Definition at line 36 of file LCDNNHFSelect.c.

UnitType Units[13] [static]
 

Definition at line 60 of file LCDNNHFSelect.c.

UnitType Units[13] [static]
 

Definition at line 34 of file LCDNNHFSelect.c.

Referenced by LCDNNHFSelect(), LCDNNHFSelectGhostZH(), LCDNNHFSelectGhostZpole(), LCDNNHFSelectNoVertexGhostZH(), LCDNNHFSelectNoVertexGhostZpole(), LCDNNHFSelectOneProngGhostZH(), LCDNNHFSelectOneProngGhostZpole(), LCDNNSeedVertex(), LCDNNSeedVertexGhostZH(), LCDNNSeedVertexGhostZpole(), LCDNNSeedVertexOneProngGhostZH(), LCDNNSeedVertexOneProngGhostZpole(), LCDNNTrackAttach(), LCDNNTrackAttachGhostZH(), and LCDNNTrackAttachGhostZpole().

float Weights[] [static]
 

Initial value:

  {
-5.726510, 6.655230, -11.942260, -9.211320, 0.260430, 
-26.757999, 27.343969, -2.859360, 15.351010, 5.491600, 
-3.124630, -23.940670, -5.141180, 3.643160, -1.002410, 
-6.723220, 12.006890, -7.269670, -2.353060, 1.204720, 
50.095360, 4.463220, -0.085040, 1.576510, 0.387810, 
0.315170, -21.674749, -13.851600, -5.173480, -5.121190, 
10.226540, 3.393190, -4.233980, -9.292990, 3.493660, -4.339010, 

  }

Definition at line 48 of file LCDNNHFSelect.c.


Generated on Tue Jul 18 18:34:05 2006 for LCDROOT by  doxygen 1.4.6