print "loading clamp routines for experiment ....."
// CLAMP-ROUTINES for EXPERIMENT
proc init() {
finitialize(v_init)
fcurrent()
}
proc run() { local tstepcount
// while (t<tstop) { // doesn't work properly for unknown reason
for tstepcount=1,((tstop-t)/dt) {
if (DebugOn==2) print "time: ",t," dt:",dt," voltage:",vC.amp1
if (DebugOn==2) {
forall print "time: ",t," dt:",dt,"voltage:",vC.amp1, " gkfast:", gkfast_kfast," gbar:", gbar_kfast
}
if (DebugOn==2) print "debug run1"
fadvance()
if (DebugOn==2) print "debug run2"
if (DebugOn==2) print "time: ",t,"tstop:",tstop,"tstepcount:",tstepcount," dt:",dt," voltage:",vC.amp1
if (DebugOn==2) if (t<tstop) print "yes",t,tstop else print "no"
}
}
proc MeasureCurrents() {local VStepCount, TStepCount, VProtCount
print "+++++++++++++++++ doing the experiment +++++++++++++"
for VStepCount=0,NumVSteps-1 {
VProtocol.x[VProtocolNumSteps-1] =vclmp[VStepCount]
print "Voltage: ",VProtocol.x[VProtocolNumSteps-1]
VProtocol.play(&vC.amp1,VProtocolTVector)
init()
for VProtCount=0,VProtocolNumSteps-2 { // pre-pulses
tstop=VProtocolTstart[VProtCount+1]
dt=DTSteps[VProtCount] // adapted dts
run()
if (DebugOn==2) forall print "time:",tstop,"volt:",v,"vC.i:",vC.i,"gkfast:",gkfast_kfast,"gbar:",gbar_kfast
if (DebugOn==3) forall print "time:",t,"volt:",v,"c1*b+c2*b1:",(c1_kslow*b_kslow+c2_kslow*b1_kslow),"gkslow:",gkslow_kslow,"gbar:",gbar_kslow
if (DebugOn==3) forall print "a^2:",a_kslow^2,"tadj:",tadj_kslow
if (DebugOn==4) forall print "time:",tstop,"volt:",v,"vC.i:",vC.i,"gkfast:",gkfast_kfast
if (DebugOn==5) forall print "time:",tstop,"volt:",v,"vC.i:",vC.i,"gkm:",gk_km,"gbar:",gbar_km
}
if (DebugOn==3) forall print "time:",t,"volt:",v,"c1*b+c2*b1:",(c1_kslow*b_kslow+c2_kslow*b1_kslow),"gkslow:",gkslow_kslow,"gbar:",gbar_kslow
if (DebugOn==3) forall print "a^2:",a_kslow^2,"tadj:",tadj_kslow
TStepCount=0
iclmp[VStepCount][TStepCount] =gkslow_kslow+gkfast_kfast+gk_kv+gk_km+gkabar_kap
if (DebugOn==2) forall print "time:",MeasTimes[TStepCount],"volt:",v,"vC.i:",vC.i,"gkfast:",gkfast_kfast,"gbar:",gbar_kfast
//starting Measurements:
if (DebugOn==4) forall print "time:",tstop,"volt:",v,"vC.i:",vC.i,"gkfast:",gkfast_kfast
dt = DTSteps[VProtocolNumSteps-1]
for TStepCount=1,NumTSteps {
tstop=MeasTStart+MeasTimes[TStepCount]
run()
iclmp[VStepCount][TStepCount] =gkslow_kslow+gkfast_kfast+gk_kv+gk_km+gkabar_kap
if (DebugOn==2) forall print "time:",MeasTimes[TStepCount],"volt:",v,"vC.i:",vC.i,"gkfast:",gkfast_kfast,"gbar:",gbar_kfast
if (DebugOn==4) forall print "time:",tstop,"volt:",v,"vC.i:",vC.i,"gkfast:",gkfast_kfast
if (DebugOn==5) forall print "time:",tstop,"volt:",v,"vC.i:",vC.i,"gkm:",gk_km,"gbar:",gbar_km
}// time
}// voltage
}// proc MeasureCurrents