import ROOT, glob, math, sys, os, optparse from ROOT import std from array import array from optparse import OptionParser parser=OptionParser() #parser=optparse.ArgumentParser(description='Plots the field from TpcEFieldCylLs.') parser.add_option('--something',help='name of the file',action='store_true',dest='something') args = parser.parse_args() ROOT.gROOT.ProcessLine(".x rootlogon.C") fRun = ROOT.FairRunSim() efield = ROOT.TpcEFieldCylLs() pos=ROOT.TVector3(1,1,10) pos.Print() pfield=efield.value(pos) print pfield pfield.Print() hfield=ROOT.TH2D("hfield","Field Mag",800,0.,800.,150,0.,150.) hxfield=ROOT.TH2D("hxfield","Field x Component",800,0.,800.,150,0.,150.) hyfield=ROOT.TH2D("hyfield","Field y Component",800,0.,800.,150,0.,150.) hzfield=ROOT.TH2D("hzfield","Field z Component",800,0.,800.,150,0.,150.) hxfieldxyz=ROOT.TH3D("hxfieldy","Field x Component along xyz",150,0.,150.,150,0.,150.,800,0.,800.) hxfieldr=ROOT.TH1D("hxfieldr","Field x Component with fixed r",8000,0.,8000.) for i in range(800): for j in range(150): xp=i*0.1 yp=j*0.1 pos=ROOT.TVector3(yp,0.,xp) pfield=efield.value2(pos) hfield.Fill(i,j,pfield.Mag()) hxfield.Fill(i,j,pfield[0]) hzfield.Fill(i,j,pfield[2]) # print xp,yp,pfield.Mag() for j in range(150): xp=i*0.1 yp=j*0.1 pos=ROOT.TVector3(0.,yp,xp) pfield=efield.value2(pos) hyfield.Fill(i,j,pfield[1]) #for k in range(800): # for i in range(150): # for j in range(150): # xp=i*0.1 # yp=j*0.1 # zp=k*0.1 # pos=ROOT.TVector3(xp,yp,zp) # pfield=efield.value2(pos) # hxfieldxyz.Fill(i,j,k,pfield[0]) for i in range(8000): pfield=efield.value2(ROOT.TVector3(6.,0.,float(i*0.01))) hxfieldr.Fill(i,pfield[0]) c1=ROOT.TCanvas() c1.Divide(2,2) c1.cd(1) hfield.SetStats(0) hfield.Draw("colz") c1.cd(2) hxfield.SetStats(0) hxfield.Draw("colz") c1.cd(3) hyfield.SetStats(0) hyfield.Draw("colz") c1.cd(4) hzfield.SetStats(0) hzfield.Draw("colz") c2=ROOT.TCanvas() hxfieldr.Draw() #c3=ROOT.TCanvas() #hxfieldxyz.Draw() bla=raw_input("done")