def get_b_field(canvas, z = None):
    global bfield_hist, bfield_graph
    if not maus_globals.has_instance():
        configuration = Configuration.Configuration().\
                                          getConfigJSON(command_line_args=True)

        maus_globals.birth(configuration)
        z_list = []
        bz_list = []
        for z_pos in range(-8000, 8001, 50):
            z_pos = float(z_pos)
            (bx_field, by_field, bz_field, ex_field, ey_field, ez_field) = \
                                            field.get_field_value(0., 0., z_pos, 0.)
            z_list.append(z_pos)  # z in mm
            bz_list.append(bz_field*1e3)  # bz in T
        bfield_hist, bfield_graph = common.make_root_graph("bz vs z", z_list, "z [m]",
                                                             bz_list, "B_{z} [T]")
    canvas.cd()
    bfield_hist.Draw()
    bfield_graph.Draw('l')
    if z != None:
        print "Plotting z", z
        marker_graph = ROOT.TGraph(2)
        marker_graph.SetPoint(0, z, -1000)
        marker_graph.SetPoint(1, z, +1000)
        marker_graph.Draw('l')
        root_list.append(marker_graph)
Exemple #2
0
def get_b_field(canvas, z=None):
    global bfield_hist, bfield_graph
    if not maus_globals.has_instance():
        configuration = Configuration.Configuration().\
                                          getConfigJSON(command_line_args=True)

        maus_globals.birth(configuration)
        z_list = []
        bz_list = []
        for z_pos in range(-8000, 8001, 50):
            z_pos = float(z_pos)
            (bx_field, by_field, bz_field, ex_field, ey_field, ez_field) = \
                                            field.get_field_value(0., 0., z_pos, 0.)
            z_list.append(z_pos)  # z in mm
            bz_list.append(bz_field * 1e3)  # bz in T
        bfield_hist, bfield_graph = common.make_root_graph(
            "bz vs z", z_list, "z [m]", bz_list, "B_{z} [T]")
    canvas.cd()
    bfield_hist.Draw()
    bfield_graph.Draw('l')
    if z != None:
        print "Plotting z", z
        marker_graph = ROOT.TGraph(2)
        marker_graph.SetPoint(0, z, -1000)
        marker_graph.SetPoint(1, z, +1000)
        marker_graph.Draw('l')
        root_list.append(marker_graph)
def main():
    """
    Make a plot of z, bz
    """
    # set up datacards
    print "Welcome to MAUS field map maker example"
    configuration = Configuration.Configuration().\
                                          getConfigJSON(command_line_args=True)

    # initialise field maps and geometry
    print "Building field maps and other initialisation (this can take a while)"
    maus_globals.birth(configuration)

    # make lists of z, bz points
    print "Getting field values"
    canvas = None
    graph_list = []
    for r_pos, line_color in [(0., 1), (150., 2)]:
        z_list = [float(z_pos) for z_pos in range(12000, 18001, 50)]
        bz_list = []
        for z_pos in z_list:
            (bx_field, by_field, bz_field, ex_field, ey_field, ez_field) = \
                                     field.get_field_value(r_pos, 0., z_pos, 0.)
            bz_list.append(bz_field * 1e3)  # bz in T
            print 'z:', z_pos, ' ** b:', bx_field, by_field, bz_field, \
                                   'e:', ex_field, ey_field, ez_field

        # now make a ROOT graph of bz against z
        print "Graphing field values"
        hist, graph = xboa.common.make_root_graph("x=" + str(r_pos) + " mm",
                                                  z_list, "z [m]", bz_list,
                                                  "B_{z} [T]")
        graph.SetLineColor(line_color)
        if canvas == None:
            canvas = xboa.common.make_root_canvas("bz vs z")
            hist.Draw()
        graph_list.append(graph)
        graph.Draw('l')
        canvas.Update()
    legend = xboa.common.make_root_legend(canvas, graph_list)
    print legend.GetX1NDC(), legend.GetX2NDC()
    legend.SetX1NDC(0.7)
    legend.SetX2NDC(0.9)
    legend.SetBorderSize(1)
    #legend.Draw()
    canvas.Print('plots/bfield_vs_z.png')
    # Clean up
    maus_globals.death()
Exemple #4
0
def main():
    """
    Spit out material information for the example geometry.
    """
    # set up datacards
    print "Welcome to MAUS geometry navigator example"
    configuration = Configuration.Configuration().\
                                          getConfigJSON(command_line_args=True)
    conf_json = json.loads(configuration)
    conf_json["simulation_geometry_filename"] = "GeometryNavigatorTest.dat"
    configuration = json.dumps(conf_json)

    # initialise field maps and geometry
    print "Building field maps and other initialisation (this can take a while)"
    maus_globals.birth(configuration)
    
    print "Testing Functionality"
    print

    maus_cpp.material.set_position( 0.0, 0.0, -50.0 )

    print "Current Position:", maus_cpp.material.get_position()
    print


    for i in range( 100 ) :
        maus_cpp.material.step( 0.0, 0.0, 1.0 )
        print (-50.0 + float(i)),  maus_cpp.material.get_material_data()
        print

    print
    print "Final Position:", maus_cpp.material.get_position()
    print



    # Clean up
    maus_globals.death()
    # Finished
    print "Finished"
def main():
    """
    Make a plot of z, bz
    """
    # set up datacards
    print "Welcome to MAUS field map maker example"
    configuration = Configuration.Configuration().\
                                          getConfigJSON(command_line_args=True)

    # initialise field maps and geometry
    print "Building field maps and other initialisation (this can take a while)"
    maus_globals.birth(configuration)

    # make lists of z, bz points
    print "Getting field values"
    z_list = []
    bz_list = []
    for z_pos in range(-8000, 8001, 50):
        z_pos = float(z_pos)
        (bx_field, by_field, bz_field, ex_field, ey_field, ez_field) = \
                                        field.get_field_value(0., 0., z_pos, 0.)
        z_list.append(z_pos*1e-3)  # z in metres
        bz_list.append(bz_field*1e3)  # bz in T
        print 'z:', z_pos, ' ** b:', bx_field, by_field, bz_field, \
                               'e:', ex_field, ey_field, ez_field

    # now make a ROOT graph of bz against z
    print "Graphing field values"
    canvas = xboa.common.make_root_canvas("bz vs z")
    hist, graph = xboa.common.make_root_graph("bz vs z", z_list, "z [m]",
                                                         bz_list, "B_{z} [T]")
    hist.Draw()
    graph.Draw('l')
    canvas.Update()
    canvas.Print('bfield_vs_z.png')
    # Clean up
    maus_globals.death()
    # Finished
    print "Finished - press <Carriage Return> to continue"
Exemple #6
0
def main():
    """
    Make a plot of z, bz
    """
    # set up datacards
    print "Welcome to MAUS field map maker example"
    configuration = Configuration.Configuration().\
                                          getConfigJSON(command_line_args=True)

    # initialise field maps and geometry
    print "Building field maps and other initialisation (this can take a while)"
    maus_globals.birth(configuration)

    # make lists of z, bz points
    print "Getting field values"
    z_list = []
    bz_list = []
    for z_pos in range(-8000, 8001, 50):
        z_pos = float(z_pos)
        (bx_field, by_field, bz_field, ex_field, ey_field, ez_field) = \
                                        field.get_field_value(0., 0., z_pos, 0.)
        z_list.append(z_pos * 1e-3)  # z in metres
        bz_list.append(bz_field * 1e3)  # bz in T
        print 'z:', z_pos, ' ** b:', bx_field, by_field, bz_field, \
                               'e:', ex_field, ey_field, ez_field

    # now make a ROOT graph of bz against z
    print "Graphing field values"
    canvas = xboa.Common.make_root_canvas("bz vs z")
    hist, graph = xboa.Common.make_root_graph("bz vs z", z_list, "z [m]",
                                              bz_list, "B_{z} [T]")
    hist.Draw()
    graph.Draw('l')
    canvas.Update()
    canvas.Print('bfield_vs_z.png')
    # Clean up
    maus_globals.death()
    # Finished
    print "Finished"
Exemple #7
0
def main():
    """
    Spit out material information for the example geometry.
    """
    # set up datacards
    print "Welcome to MAUS geometry navigator example"
    configuration = Configuration.Configuration().\
                                          getConfigJSON(command_line_args=True)
    conf_json = json.loads(configuration)
    conf_json["simulation_geometry_filename"] = "GeometryNavigatorTest.dat"
    configuration = json.dumps(conf_json)

    # initialise field maps and geometry
    print "Building field maps and other initialisation (this can take a while)"
    maus_globals.birth(configuration)

    print "Testing Functionality"
    print

    maus_cpp.material.set_position(0.0, 0.0, -50.0)

    print "Current Position:", maus_cpp.material.get_position()
    print

    for i in range(100):
        maus_cpp.material.step(0.0, 0.0, 1.0)
        print(-50.0 + float(i)), maus_cpp.material.get_material_data()
        print

    print
    print "Final Position:", maus_cpp.material.get_position()
    print

    # Clean up
    maus_globals.death()
    # Finished
    print "Finished"
def initialise_maus():
    configuration = Configuration.Configuration().\
                                          getConfigJSON(command_line_args=True)
    maus_globals.birth(configuration)