#ifndef __INPUTCOUCHE_H
#define __INPUTCOUCHE_H

#include <vector>
#include <string>
#include "couche.h"
#include "hiddenCouche.h"
#include "global.h"
using namespace std;
class InputCouche : public Couche{
    private:
        SynapseMatrix prevChange;
    public:
        InputCouche();
        InputCouche(const unsigned int nbr,const Couche* next=NULL);
        void activate(const std::vector<bool> &v) throw(std::string);
        void setNextCouche(const HiddenCouche* c) throw(std::string);
        void backPropagate(const std::vector<double> deltaHidden);
        double getChange(const unsigned int i, const unsigned int j) const throw(const unsigned int,std::string);
        void printMatrix();
        InputCouche& operator=(const InputCouche& c);
};


#endif
