--- /dev/null
+#ifndef BEAM_FORMER_H
+#define BEAM_FORMER_H
+
+#include <dol.h>
+#include "global.h"
+
+#define PORT_DATA_IN "data_input"
+#define PORT_WEIGHT_IN "weight_input"
+#define PORT_DATA_OUT "data_output"
+
+typedef struct _local_states
+{
+ ComplexNumber Vector_Product[NUMBER_OF_RANGE_BINS];
+ // int sample_counter;
+ int pulse_counter;
+ int n_iterations;
+ // New!
+ int range_counter;
+
+ int excount;
+
+
+} Beam_Former_State;
+
+void Beam_Former_init(DOLProcess *);
+int Beam_Former_fire(DOLProcess *);
+void multiply_and_accumulate(ComplexNumber *, ComplexNumber *, DOLProcess * p);
+
+#endif