Magnetic Field Map
Refer to the design of Solid_Magnet
Contents
GEMC field map location
located at Solid website http://hallaweb.jlab.org/12GeV/SoLID/download/field/
map script
These scripts are designed to be run from root with the command:
root[?] .X SF7toGEMCmap.C(arguements)
checkout from svn "database_io/solid/field/"
or
download
https://clas12svn.jlab.org/repos/trunk/clas12/gemc/production/database_io/solid/field/SF7toGEMCmap.C
convert SF7 to GEMC map
For solenoid type of magnet, assume azimuthal symmetry.
SF7 map format produced by PossionSuperfish program SF7.exe contain text lines for explanation, map range and grid size, map values (R, Z, Br, Bz, B, A, dBz/dr, dBr/dz, field index).
GEMC map format requires R, Z, Br, Bz
Additional difference is SF7 map values are in order of R increasing first when Z is fixed, while GEMC map values are in order of Z increasing first when R is fixed.
Thus we need the conversion script
for example: To covert SF7 map file CDFv4.sf7, start root and run ".x SF7toGEMCmap.C("CDFv4.sf7",0)", the output should be like: open SF7 file CDFv4.sf7 ok Rmin 0 Zmin -400 Rmax 400 Zmax 600 R and Z increments: 400 1000 please put 401 1001 instead into database the units are in cm and G covert to GEMC map file CDFv4.sf7.GEMCmap ok
plot SF7 map and integrate over B
SF7toGEMCmap.C(options)
options: "SF7_filename",0 convert map only "SF7_filename",1 convert map and show map plot "SF7_filename",2 show map plot only "SF7_filename",3,x1,y1,x2,y2 show map plot and integrate over B along the line (x1,y1)-(x2,y2)
note:
1. To view values in map, turn on "Event Statusbar" in menu "view" on root Canvas, then use mouse to look around.
2. Edit the code to use something like "hB->SetMinimum(20)" to make a cut.
3. Zoom on colz axis to explore map details
4. not matter which option you use, a root file "SF7_filename.root" with all plots will be created.
compare SF7 map
SF7map_compare.C("v2.root","v1.root")
After you produce the root files for different configuration, use this to show the difference of "field in v2 - field in v1"
some root files are stored in the download already.
note: the two versions have to have the same grid size and map range
update field map info in database
To make GEMC aware the field map file name, grid, position etc, we need to put those in table "magnetic_fields" of the geometry database
The scripts are at svn "database_io/solid/field/"
edit the file "magnetic_fields.txt" with grid info from output of "SF7toGEMCmap.C"
just run "go_table_magf magnetic_fields.txt solid_geometry" or "go_table_magf magnetic_fields.txt user_geometry"
check map into GMEC
use option MGN_VERBOSITY=99 when you run gemc to check field, it does two things 1. output more info about the filed loading 2. make particle travel only one step, this way you can start a particle at certain place and see how it bends.