Source code for dendrotweaks.stimuli.iclamps

# SPDX-FileCopyrightText: 2025 Poirazi Lab <dendrotweaks@dendrites.gr>
# SPDX-License-Identifier: MPL-2.0

from neuron import h
h.load_file('stdrun.hoc')

[docs] class IClamp(): """ A current clamp stimulus. Parameters ---------- sec : Section The section to place the stimulus on. loc : float The location along the section to place the stimulus. Can be a float between 0 and 1. amp : float The amplitude of the stimulus, in nA. delay : int The delay of the stimulus, in ms. dur : int The duration of the stimulus, in ms. Attributes ---------- sec : Section The section to place the stimulus on. loc : float The location along the section to place the stimulus. """ def __init__(self, sec, loc, amp=0, delay=100, dur=100): self.sec = sec self.loc = loc self._iclamp = h.IClamp(sec(loc)._ref) self._iclamp.amp = amp self._iclamp.delay = delay self._iclamp.dur = dur def __repr__(self): return f"<IClamp(sec[{self.sec.idx}]({self.loc:.2f}))>" @property def amp(self): """ The amplitude of the stimulus, in nA. """ return self._iclamp.amp @amp.setter def amp(self, new_amp): self._iclamp.amp = new_amp @property def delay(self): """ The delay of the stimulus, in ms. """ return self._iclamp.delay @delay.setter def delay(self, new_delay): self._iclamp.delay = new_delay @property def dur(self): """ The duration of the stimulus, in ms. """ return self._iclamp.dur @dur.setter def dur(self, new_dur): self._iclamp.dur = new_dur