Cypress  1.0
C++ Spiking Neural Network Simulation Framework
spike_sources.hpp
Go to the documentation of this file.
1 /*
2  * Cypress -- C++ Spiking Neural Network Simulation Framework
3  * Copyright (C) 2016 Andreas Stöckel
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
28 #ifndef CYPRESS_TRANSFORMATIONS_SPIKE_SOURCES_HPP
29 #define CYPRESS_TRANSFORMATIONS_SPIKE_SOURCES_HPP
30 
32 
33 namespace cypress {
34 namespace transformations {
39 class CIToCF : public NeuronTypeTransformation<SpikeSourceConstInterval,
40  SpikeSourceConstFreq> {
41 protected:
43  SpikeSourceConstFreqParameters tar) override;
44 
46  SpikeSourceConstFreqSignals tar) override;
47 
48 public:
49  std::string id() const override { return "ConstIntervalToConstFreq"; }
50 
51  ~CIToCF(){};
52 };
53 
58 class CFToCI : public NeuronTypeTransformation<SpikeSourceConstFreq,
59  SpikeSourceConstInterval> {
60 protected:
64 
66  SpikeSourceConstIntervalSignals tar) override;
67 
68 public:
69  std::string id() const override { return "ConstFreqToConstInterval"; }
70 
71  ~CFToCI(){};
72 };
73 
78  : public NeuronTypeTransformation<SpikeSourcePoisson, SpikeSourceArray> {
79 protected:
81  SpikeSourceArrayParameters tar) override;
82 
84  const SpikeSourcePoissonParameters &src) override;
85 
87  SpikeSourceArraySignals tar) override;
88 
89 public:
90  std::string id() const override { return "PoissonToSourceArray"; }
91 
93 };
94 
98 class CFToSA
99  : public NeuronTypeTransformation<SpikeSourceConstFreq, SpikeSourceArray> {
100 protected:
102  SpikeSourceArrayParameters tar) override;
103 
105  const SpikeSourceConstFreqParameters &src) override;
106 
108  SpikeSourceArraySignals tar) override;
109 
110 public:
111  std::string id() const override { return "ConstFreqToSourceArray"; }
112 
113  ~CFToSA(){};
114 };
115 }
116 }
117 
118 #endif /* CYPRESS_TRANSFORMATIONS_SPIKE_SOURCES_HPP */
virtual bool do_dehomogenise_parameters(const typename SpikeSourceConstInterval::Parameters &)
Definition: transformation_util.hpp:103
void do_transform_parameters(const SpikeSourceConstIntervalParameters &src, SpikeSourceConstFreqParameters tar) override
Definition: neurons.hpp:195
Definition: neurons.hpp:265
std::string id() const override
Definition: spike_sources.hpp:111
~CFToCI()
Definition: spike_sources.hpp:71
Definition: neurons.hpp:213
Definition: neurons.hpp:164
~CIToCF()
Definition: spike_sources.hpp:51
Definition: neurons.hpp:122
~CFToSA()
Definition: spike_sources.hpp:113
Definition: spike_sources.hpp:58
Definition: spike_sources.hpp:39
void do_transform_signals(const SpikeSourceConstIntervalSignals &src, SpikeSourceConstFreqSignals tar) override
Definition: spike_sources.hpp:77
Definition: brainscales_lib.hpp:39
Definition: transformation_util.hpp:39
Definition: spike_sources.hpp:98
std::string id() const override
Definition: spike_sources.hpp:69
Definition: neurons.hpp:245
Definition: neurons.hpp:317
std::string id() const override
Definition: spike_sources.hpp:90
std::string id() const override
Definition: spike_sources.hpp:49
~PoissonToSA()
Definition: spike_sources.hpp:92