import spinometer
import cgi
import cgitb
cgitb.enable()


def main():
    form = cgi.FieldStorage()

    seed = int(form["seed"].value)  # 0 run not reproducible
    ntrials = int(form["ntrials"].value)
    polarization = float(form["polarization"].value) # 0.0 could go either way
    T1 = float(form["T1"].value) # 6 for phaseshift 0.125

    # one simulation run
    spinometer.initialize(polarization, T1, seed)
    na = 0 # photons seen at 'a'
        
    # run parameters passed to the web page as spindata[0]
    spindata = [[seed, ntrials, polarization, T1]]
    
    for i in range(ntrials):
        detector, polarization = spinometer.trial()
        if detector == 'a':
            na += 1
        spindata.append(["%s" % detector, "%3d/%3d" % (na, i+1), "%6.4f" % (na/(i+1.0)), "%11.9f" % polarization])

    print "Content-type: application/json\n"
    print spindata

if __name__ == '__main__':
    main()
