// File for implementing photocurent input into the photoreceptor layer
load_file("create_Cells.hoc")
load_file("Parameters.hoc")
objref PR_Light_stim_upper, PR_Light_stim_lower
objref darkinput_PR_upper[PR_total_upper_cells], darkinput_PR_lower[PR_total_lower_cells]
objref brightinput_PR_upper[PR_total_upper_cells], brightinput_PR_lower[PR_total_lower_cells]
proc create_Input() {
PR_Light_stim_upper = new Vector(PR_total_upper_cells)
PR_Light_stim_lower = new Vector(PR_total_lower_cells)
for i = 0, PR_total_upper_cells - 1 {
if(PR_upper_cell_type.x[i][0] == 1) {
PR_upper[i].soma darkinput_PR_upper[i] = new IinjLTDim(0.5)
darkinput_PR_upper[i].amp = 0
darkinput_PR_upper[i].ssI = 100
darkinput_PR_upper[i].del = 0
darkinput_PR_upper[i].ton = Simul_Time
if(sqrt((PR_upper_positions.x[i][0] - Light_centre_x)^2 + (PR_upper_positions.x[i][1] - Light_centre_y)^2) < Light_radius) {
PR_Light_stim_upper.x[i] = 1
PR_upper[i].soma brightinput_PR_upper[i] = new IinjLT(0.5)
brightinput_PR_upper[i].amp = RodStimAmp
brightinput_PR_upper[i].ssI = 0
brightinput_PR_upper[i].del = RodStimDel
brightinput_PR_upper[i].ton = RodStimTime
brightinput_PR_upper[i].num = 1
}
}
if(PR_upper_cell_type.x[i][0] == 2) {
PR_upper[i].soma darkinput_PR_upper[i] = new IinjLT_cone(0.5)
darkinput_PR_upper[i].amp = 0
darkinput_PR_upper[i].ssI = 100 - (PR_loss*500)
darkinput_PR_upper[i].del = 0
darkinput_PR_upper[i].ton = Simul_Time
if(sqrt((PR_upper_positions.x[i][0] - Light_centre_x)^2 + (PR_upper_positions.x[i][1] - Light_centre_y)^2) < Light_radius) {
PR_Light_stim_upper.x[i] = 1
PR_upper[i].soma brightinput_PR_upper[i] = new IinjLT_cone(0.5)
brightinput_PR_upper[i].amp = ConeStimAmp
brightinput_PR_upper[i].ssI = 0
brightinput_PR_upper[i].del = ConeStimDel
brightinput_PR_upper[i].ton = ConeStimTime
brightinput_PR_upper[i].num = 1
}
}
}
for i = 0, PR_total_lower_cells - 1 {
if(PR_lower_cell_type.x[i][0] == 1) {
PR_lower[i].soma darkinput_PR_lower[i] = new IinjLTDim(0.5)
darkinput_PR_lower[i].amp = 0
darkinput_PR_lower[i].ssI = 100
darkinput_PR_lower[i].del = 0
darkinput_PR_lower[i].ton = Simul_Time
if(sqrt((PR_lower_positions.x[i][0] - Light_centre_x)^2 + (PR_lower_positions.x[i][1] - Light_centre_y)^2) < Light_radius) {
PR_Light_stim_lower.x[i] = 1
PR_lower[i].soma brightinput_PR_lower[i] = new IinjLT(0.5)
brightinput_PR_lower[i].amp = RodStimAmp
brightinput_PR_lower[i].ssI = 0
brightinput_PR_lower[i].del = RodStimDel
brightinput_PR_lower[i].ton = RodStimTime
brightinput_PR_lower[i].num = 1
}
}
if(PR_lower_cell_type.x[i][0] == 2) {
PR_lower[i].soma darkinput_PR_lower[i] = new IinjLT_cone(0.5)
darkinput_PR_lower[i].amp = 0
darkinput_PR_lower[i].ssI = 100 - (PR_loss*500)
darkinput_PR_lower[i].del = 0
darkinput_PR_lower[i].ton = Simul_Time
if(sqrt((PR_lower_positions.x[i][0] - Light_centre_x)^2 + (PR_lower_positions.x[i][1] - Light_centre_y)^2) < Light_radius) {
PR_Light_stim_lower.x[i] = 1
PR_lower[i].soma brightinput_PR_lower[i] = new IinjLT_cone(0.5)
brightinput_PR_lower[i].amp = ConeStimAmp
brightinput_PR_lower[i].ssI = 0
brightinput_PR_lower[i].del = ConeStimDel
brightinput_PR_lower[i].ton = ConeStimTime
brightinput_PR_lower[i].num = 1
}
}
}
}