f2 = new File()
sprint(cmdstr,"../datasets/phasic_%g.dat", PhasicData)
f2.ropen(cmdstr) // Open the celltype
numppTypes = f2.scanvar // Scan the first line, which contains a number giving the
objref pptype[numppTypes]
double fmax[numppTypes], noise[numppTypes], depth[numppTypes], phase[numppTypes]
for i=0, numppTypes-1 {
pptype[i] = new String()
f2.scanstr(pptype[i].s)
fmax[i] = f2.scanvar
noise[i] = f2.scanvar
depth[i] = f2.scanvar
phase[i] = f2.scanvar
print pptype[i].s, ": ", fmax[i], " Hz, ", phase[i], " phase"
}
f2.close()
period = Onint + Offint // Oscillation period in ms
proc ppSin() { local ppi, i, wgt, reli, typei, jgid, celltype, counter, jstart, jend, jtot localobj mycell // Connect the perforant path cells to the model cells
// find ppecsin index
for ppi=0, numppTypes-1 {
for celltype=0, numCellTypes-1 {
if (strcmp(cellType[celltype].cellType_string, pptype[ppi].s)==0 && strcmp(cellType[celltype].technicalType, "sintrain")==0 ) {
idx = celltype
for pcitr(&reli, &typei, &jgid, cellType[idx].cellStartGid, cellType[idx].cellEndGid) {
if (pc.gid_exists(jgid)) {
cellType[idx].CellList[typei].fmax(fmax[ppi]) // max freq
cellType[idx].CellList[typei].start(0)
cellType[idx].CellList[typei].noise(noise[ppi])
//mod_params
cellType[idx].CellList[typei].period(period)
cellType[idx].CellList[typei].number(1e9) // number of periods - last to the end of the simulation
cellType[idx].CellList[typei].depth(depth[ppi]) // this should be argument 7 instead of noise, since we know diff inrns modulated diff'ly
cellType[idx].CellList[typei].phase(phase[ppi]*period/360)
{ranstimlist.object(reli).r.negexp(1)}// Set up the generator to pick a uniform dist of numbers between 0 and 1
{cellType[idx].CellList[typei].setnoiseFromRandomNS(ranstimlist.object(reli).r)}
{raninitlist.object(reli).r.uniform(0,1)}// Set up the generator to pick a uniform dist of numbers between 0 and 1
{cellType[idx].CellList[typei].setnoiseFromRandomPP(raninitlist.object(reli).r)}
}
}
}
}
}
}
ppSin()