tardis.montecarlo.montecarlo_numba.r_packet module

class tardis.montecarlo.montecarlo_numba.r_packet.InteractionType(value)[source]

Bases: enum.IntEnum

An enumeration.

BOUNDARY = 1
ESCATTERING = 3
LINE = 2
class tardis.montecarlo.montecarlo_numba.r_packet.PacketStatus(value)[source]

Bases: enum.IntEnum

An enumeration.

EMITTED = 1
IN_PROCESS = 0
REABSORBED = 2
tardis.montecarlo.montecarlo_numba.r_packet.move_packet_across_shell_boundary(packet, delta_shell, no_of_shells)[source]

Move packet across shell boundary - realizing if we are still in the simulation or have moved out through the inner boundary or outer boundary and updating packet status.

Parameters
distancefloat

distance to move to shell boundary

delta_shellint

is +1 if moving outward or -1 if moving inward

no_of_shellsint

number of shells in TARDIS simulation

tardis.montecarlo.montecarlo_numba.r_packet.move_r_packet(r_packet, distance, time_explosion, numba_estimator)[source]

Move packet a distance and recalculate the new angle mu

Parameters
r_packettardis.montecarlo.montecarlo_numba.r_packet.RPacket

r_packet objects

time_explosionfloat

time since explosion in s

numba_estimatortardis.montecarlo.montecarlo_numba.numba_interface.NumbaEstimator

Estimators object

distancefloat

distance in cm

tardis.montecarlo.montecarlo_numba.r_packet.trace_packet(r_packet, numba_model, numba_plasma, estimators)[source]

Traces the RPacket through the ejecta and stops when an interaction happens (heart of the calculation)

Parameters
r_packettardis.montecarlo.montecarlo_numba.r_packet.RPacket
numba_modeltardis.montecarlo.montecarlo_numba.numba_interface.NumbaModel
numba_plasmatardis.montecarlo.montecarlo_numba.numba_interface.NumbaPlasma
estimatorstardis.montecarlo.montecarlo_numba.numba_interface.Estimators