fiedl / hole-ice-scripts

Example scripts for the hole-ice extension of clsim in the IceCube simulation framework.
0 stars 0 forks source link

Photonen mit Richtung generieren #7

Closed fiedl closed 2 years ago

fiedl commented 2 years ago

In https://github.com/fiedl/hole-ice-scripts/issues/6#issuecomment-1239925419 sieht es so aus, als werden die Photonen in verschiedene Richtungen emittiert, obwohl ich einen schmalen Öffnungswinkel von 0.001 Grad angegeben habe.

[2022-09-07 23:20:27] fiedl@fiedl-mbp ~/icecube/hole-ice-scripts master ⚡ 75cd293
▶ docker-compose run icetray scripts/generate_photons.py
▶ docker-compose run icetray scripts/propagate_photons.py

[2022-09-07 23:30:27] fiedl@fiedl-mbp ~/icecube/hole-ice-scripts master ⚡ 75cd293
▶ source ~/py3/bin/activate && ~/icecube/icetray-build/env-shell.sh
▶ steamshovel data/propagated_photons.i3

Bildschirmfoto 2022-09-07 um 23 41 31

fiedl commented 2 years ago
# scripts/generate_photons.py

def generate_photons(frame):
  pulse = I3FlasherPulse()

  pulse.SetPos(PHOTON_START_POSITION)
  pulse.SetDir(PHOTON_START_DIRECTION)
  pulse.SetType(I3FlasherPulse.FlasherPulseType.LED340nm)
  pulse.SetPulseWidth(1. * I3Units.ns)
  pulse.SetAngularEmissionSigmaPolar(0.001 * I3Units.deg)
  pulse.SetAngularEmissionSigmaAzimuthal(0.001 * I3Units.deg)

Offenbar wird der Öffnungswinkel nur dann polar interpretiert, wenn der Flasher-Type Standard-Candle ist (grep interpretAngularDistributionsInPolarCoordinates).

    spectrumTypes = [I3FlasherPulse.FlasherPulseType.LED340nm,
                     I3FlasherPulse.FlasherPulseType.LED370nm,
                     I3FlasherPulse.FlasherPulseType.LED405nm,
                     I3FlasherPulse.FlasherPulseType.LED450nm,
                     I3FlasherPulse.FlasherPulseType.LED505nm]

    spectrumTypesSC = [I3FlasherPulse.FlasherPulseType.SC1,
                       I3FlasherPulse.FlasherPulseType.SC2]

pulse.SetType(I3FlasherPulse.FlasherPulseType.SC1) zu verwenden, löst das Problem jedoch nicht. 👎

fiedl commented 2 years ago

Die Anzahl der PhotonHistoryEntries ist das Problem. Die Anzahl gibt an, wie viele Propagationsschritte gespeichert werden sollen. Es sind jeweils die letzten Schritte des Photons. Wenn die Photonen am Anfang viel streuen, sieht es so aus, als ob sie in alle Richtungen emittiert werden, da die anfänglichen Streuschritte nicht gespeichert werden.

Auf Zeuthen (#9) setze ich:

PhotonHistoryEntries = 100

Damit sieht man dann auch die gerichtete Emission:

[2022-09-09 17:50:55] fiedl@kepler00 ~/icecube/hole-ice-scripts
▶ ~/icecube/icetray-build/env-shell.sh
▶ scripts/generate_photons.py
▶ scripts/propagate_photons.py

[2022-09-09 18:20:29] fiedl@fiedl-mbp ~/icecube/hole-ice-scripts master ⚡ de2bdd3
▶ steamshovel data/propagated_photons.i3

Bildschirmfoto 2022-09-09 um 18 28 51