Difference between revisions of "Magnetic Field Map"

From Hall A Wiki
Jump to: navigation, search
(plot SF7 map and integrate over B)
Line 52: Line 52:
 
note:  
 
note:  
  
1. To view values in map, turn on "Event Statusbar" in menu "view" on root Canvas, then use mouse to look around
+
1. To view values in map, turn on "Event Statusbar" in menu "view" on root Canvas, then use mouse to look around.
  
2. Zoom on colz axis to explore map details
+
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 produced
 +
 
 +
=== compare SF7 map ===
 +
 
 +
After you produce the root files for different configuration, use this to show the difference of "field in v2 - field in v1"
 +
 
 +
SF7map_compare.C("v2.root","v1.root")
 +
 
 +
note: the two versions have to have the same grid size, and map range
  
 
== field map file info in database ==
 
== field map file info in database ==

Revision as of 19:45, 6 April 2011

Refer to the design of Solid_Magnet

create field map for GEMC from possion output

located at Solid website http://hallaweb.jlab.org/12GeV/SoLID/download/

SF7toGEMCmap.C

checkout from svn "database_io/halla12/solid/field/"

or

download https://clas12svn.jlab.org/repos/trunk/clas12/gemc/production/database_io/halla12/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 CDFv2.sf7, start root and run ".x SF7toGEMCmap.C("CDFv2.sf7")", 
the output should be like:
  open SF7 file CDFv2.sf7 ok
  Rmin 0 Zmin -300
  Rmax 300 Zmax 475
  R and Z increments:     300     775
  please put 301 776 instead into database
  the units are in cm and G
  covert to GEMC map file CDFv2.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 produced

compare SF7 map

After you produce the root files for different configuration, use this to show the difference of "field in v2 - field in v1"

SF7map_compare.C("v2.root","v1.root")

note: the two versions have to have the same grid size, and map range

field map file info in database

To make GEMC aware the field map file name, grid, position etc, we need to put those in database table "magnetic_fields"

The scripts are at svn "database_io/halla12/solid/field/"

edit the file "magnetic_fields.txt" with grid info from output of "SF7toGEMCmap.C"

just run "go_table_magf magnetic_fields.txt user_geometry"