"""
Datacard to simulate 200MeV/c protons
"""
# pylint: disable=C0103, W0611
import os
output_json_file_name = "proton_check_simulation.json"
output_json_file_type = "text"
# Used by MapCppSimulation
keep_tracks = True # set to true to keep start and end point of every track
keep_steps = False # set to true to keep start and end point of every track and
# every step point
simulation_geometry_filename = "Stage4.dat" # geometry used by simulation
maximum_number_of_steps = 10000
simulation_reference_particle = {
"position":{"x":0.0, "y":-0.0, "z":2000.0},
"momentum":{"x":0.0, "y":0.0, "z":1.0},
"particle_id":2212, "energy":959.1, "time":0.0, "random_seed":10
}
# used by InputPySpillGenerator to determine the number of empty spills that
# will be generated by the simulation
spill_generator_number_of_spills = 1000
# used by MapPyBeamMaker to generate input particle
# This is a sample beam distribution based on guesses by Chris Rogers of what
# an optimised beam might look like
beam = {
"particle_generator":"binomial", # routine for generating empty primaries
"binomial_n":1.0, # number of coin tosses
"binomial_p":1.0, # probability of making a particle on each toss
"random_seed":5, # random seed for beam generation; controls also how the MC
# seeds are generated
"definitions":[
##### 200MeV/c PROTONS #######
{
"reference":simulation_reference_particle, # reference particle
"random_seed_algorithm":"incrementing_random", # algorithm for seeding MC
"weight":100., # probability of generating a particle
"transverse":{
"transverse_mode":"constant_solenoid", # transverse distribution matched to constant solenoid field
"emittance_4d":3., # 4d emittance
"normalised_angular_momentum":0.1, # angular momentum from diffuser
"bz":4.e-3 # magnetic field strength for angular momentum calculation
},
"longitudinal":{"longitudinal_mode":"sawtooth_time", # longitudinal distribution sawtooth in time
"momentum_variable":"p", # Gaussian in total momentum (options energy, pz)
"sigma_p":25., # RMS total momentum
"t_start":-1.e6, # start time of sawtooth
"t_end":+1.e6}, # end time of sawtooth
"coupling":{"coupling_mode":"none"} # no dispersion
}]
}
particle_decay = False