Miind
AbstractNeuralDynamics.hpp
Go to the documentation of this file.
1 // Copyright (c) 2005 - 2014 Marc de Kamps
2 // All rights reserved.
3 //
4 // Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5 //
6 // * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation
8 // and/or other materials provided with the distribution.
9 // * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software
10 // without specific prior written permission.
11 //
12 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
13 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
14 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
15 // USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
16 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
17 //
18 // If you use this software in work leading to a scientific publication, you should include a reference there to
19 // the 'currently valid reference', which can be found at http://miind.sourceforge.net
20 
21 #ifndef _CODE_LIBS_GEOMLIB_ABSTRACTNEURALDYNAMICS_H_
22 #define _CODE_LIBS_GEOMLIB_ABSTRACTNEURALDYNAMICS_H_
23 
24 #include <vector>
27 #include "OdeParameter.hpp"
28 
29 namespace GeomLib {
30 
32 
38 
40  public:
41 
44  (
45  const OdeParameter&,
47  );
48 
50  virtual ~AbstractNeuralDynamics() = 0;
51 
54  virtual Potential
56  (
57  Potential,
59  ) const = 0;
60 
62  virtual AbstractNeuralDynamics* Clone() const = 0;
63 
65  const OdeParameter& Par() const {return _par; }
66 
69  virtual MPILib::Time TStep() const = 0;
70 
72  virtual MPILib::Time TPeriod() const = 0;
73 
75  virtual std::vector<Potential> InterpretationArray() const = 0;
76 
79 
80  protected:
81 
84 
87  };
88 }
89 
90 
91 #endif /* ABSTRACTNEURALDYNAMICS_H_ */
double Potential
const CurrentCompensationParameter _par_current
For use in the concrete dynamics instantiation.
virtual MPILib::Time TPeriod() const =0
Period for the dynamic model. Consult the '1D document'.
virtual ~AbstractNeuralDynamics()=0
Virtual destructor.
Contains the parameters necessary to configure a concrete OdeSystem instance. See AbstractOdeSystem a...
double Time
The configuration of a GeomAlgorithm requires that the neural dynamics is defined somewhere...
const OdeParameter & Par() const
Provide efficient access. For use in time critical code.
Parameter for setting current compensation values for the neural models that use it.
const CurrentCompensationParameter & ParCur() const
Return the current compensation object; can be used to test whether current compensation is applied...
virtual AbstractNeuralDynamics * Clone() const =0
virtual construction mechanism
const OdeParameter _par
Time critical access for derived classes.
virtual Potential EvolvePotential(Potential, MPILib::Time) const =0
Given a potential, specify how it evolves over a given time step The range of validity of this functi...
AbstractNeuralDynamics(const OdeParameter &, const CurrentCompensationParameter &=CurrentCompensationParameter(0., 0.))
Constructor.
virtual MPILib::Time TStep() const =0
Fundamental time step by which mass is shifted through the geometric bins. Consult the '1D document' ...
virtual std::vector< Potential > InterpretationArray() const =0
Generate the bin boundaries for geometric binning based on the dyn.