Hello all I am looking into determining the initial charge cloud diameter. I plotted the propagation of electrons and holes but I wanted to know if I can extract the location of the charges that are propagated. Thank you!
[AllPix]
log_level = "WARNING"
log_format = "LONG"
number_of_events = 1
detectors_file = "detector.conf"
model_paths = ./
multithreading = true
random_seed = 1234
[GeometryBuilderGeant4]
world_material = "air"
[DepositionGeant4]
physics_list = FTFP_BERT_LIV
particle_type = "gamma"
source_energy = 122keV
source_position = 0 0 -20mm
source_type = "beam"
beam_direction = 0 0 1
number_of_particles = 1
[ElectricFieldReader]
model="linear"
bias_voltage=-500V
depletion_voltage=-100V
[GenericPropagation]
mobility_model = "constant"
mobility_electron = 1090cm*cm/V/s
mobility_hole = 110cm*cm/V/s
temperature = 293K
charge_per_step = 1
integration_time = 750ns
max_charge_groups = 0
propagate_holes = true
output_plots = 1
output_linegraphs = true
output_linegraphs_collected = true
output_plots_align_pixels = true
[SimpleTransfer]
max_depth_distance = 5um
output_plots = true
[DefaultDigitizer]
threshold = 600e
output_plots = true
Hi @oobie2142
this information is available from the DepositedCharge object’s getLocalPosition().
If you want to know for a given PixelHit, where the charges came from, you traverse the Monte Carlo history backwards
PixelHit::getPixelCharge()::getPropagatedCharges()::getDepositedCharge()
Cheers,
Simon
@simonspa Thank you! If I include the DepositedCharge in the RootObjectWriter Module can I plot the distribution of local x and y coordinates and that would be the same thing?
Sorry I have yet to try and use allpix outside the scripting method.
Hi @oobie2142
it really depends what you want to look at, the information is all there. If you just want the initial charge distribution, plotting DepositedCharge positions is what you want.
/Simon
Thanks! For the units does it change depending on the ROOT Object?
Or is local and global positions always in mm?
Hi @simonspa is it possible to show me how to traverse the Monte Carlo history from the PixelHit? I want to try and not have to store the DepositedCharge Tree.
Thanks!
Hi @oobie2142
you always need the objects which are connected. So for PixelHit → PixelCharge for example there is a direct connection, no need to store anything else. You need, however, to load both into memory before using it. Then, call my_pixel_hit->loadHistory() and you should be able to access the history.
/Simon
Thanks Simon I appreciate it. Sorry for the double post!
HI @simonspa will you need to traverse the objects in order? Or can you jump straight to DepositedCharge from the PixelHit object?
You need to traverse them since the PixelHit object does not hold a pointer to the DepositedCharge objects directly