tardis.transport.montecarlo.packets.trackers package
Submodules
- tardis.transport.montecarlo.packets.trackers.array_utils module
- tardis.transport.montecarlo.packets.trackers.tracker_full module
TrackerFullTrackerFull.after_energyTrackerFull.after_muTrackerFull.after_nuTrackerFull.after_shell_idTrackerFull.before_energyTrackerFull.before_muTrackerFull.before_nuTrackerFull.before_shell_idTrackerFull.class_typeTrackerFull.event_idTrackerFull.extend_factorTrackerFull.interaction_typeTrackerFull.line_absorb_idTrackerFull.line_emit_idTrackerFull.next_line_idTrackerFull.radiusTrackerFull.status
- tardis.transport.montecarlo.packets.trackers.tracker_full_solver module
- tardis.transport.montecarlo.packets.trackers.tracker_full_util module
TrackerEventArraysTrackerEventArrays.after_energyTrackerEventArrays.after_muTrackerEventArrays.after_nuTrackerEventArrays.after_shell_idTrackerEventArrays.before_nuTrackerEventArrays.before_shell_idTrackerEventArrays.event_offsetsTrackerEventArrays.interaction_typeTrackerEventArrays.line_absorb_idTrackerEventArrays.line_emit_idTrackerEventArrays.next_line_idTrackerEventArrays.packet_idTrackerEventArrays.radius
event_arrays_to_df()generate_tracker_full_list()interaction_type_to_categorical()interaction_type_to_codes()tracker_full_df2tracker_last_interaction_df()tracker_full_df_to_event_arrays()trackers_full_list_to_arrays()trackers_full_list_to_selected_arrays()trackers_full_to_df()
- tardis.transport.montecarlo.packets.trackers.tracker_last_interaction module
TrackerLastInteractionTrackerLastInteraction.after_energyTrackerLastInteraction.after_muTrackerLastInteraction.after_nuTrackerLastInteraction.before_energyTrackerLastInteraction.before_muTrackerLastInteraction.before_nuTrackerLastInteraction.class_typeTrackerLastInteraction.energyTrackerLastInteraction.interaction_line_absorb_idTrackerLastInteraction.interaction_line_emit_idTrackerLastInteraction.interaction_typeTrackerLastInteraction.interactions_countTrackerLastInteraction.muTrackerLastInteraction.nuTrackerLastInteraction.radiusTrackerLastInteraction.shell_id
- tardis.transport.montecarlo.packets.trackers.tracker_last_interaction_util module
Module contents
Packet tracking module for TARDIS Monte Carlo transport.
This subpackage contains classes and functions for tracking packet interactions and collecting tracking data from multiple packets.
- class tardis.transport.montecarlo.packets.trackers.TrackerFull(*args, **kwargs)[source]
Bases:
TrackerFullNumba JITCLASS for storing interaction information for RPacket instances.
Tracks all packet events with before/after shell IDs and interaction data.
- Parameters:
- lengthint
Initial length of tracking arrays.
- Attributes:
- rnb.float64[:]
Radius of the RPacket at each event.
- shell_idnb.int64[:]
Shell ID where the RPacket is located at each event.
- before_shell_idnb.int64[:]
Shell ID before each event (same as shell_id except for boundary events).
- after_shell_idnb.int64[:]
Shell ID after each event (same as shell_id except for boundary events).
- interaction_typenb.int64[:]
Type of interaction undergone by the RPacket at each event.
- statusnb.int64[:]
Status of the RPacket at each event.
- before_nunb.float64[:]
Frequency before each interaction.
- before_munb.float64[:]
Cosine of angle before each interaction.
- before_energynb.float64[:]
Energy before each interaction.
- after_nunb.float64[:]
Frequency after each interaction.
- after_munb.float64[:]
Cosine of angle after each interaction.
- after_energynb.float64[:]
Energy after each interaction.
- line_absorb_idnb.int64[:]
Line ID for absorbed line interactions.
- line_emit_idnb.int64[:]
Line ID for emitted line interactions.
- next_line_idnb.int64[:]
Next line-search index after each event.
- event_idnb.int64
Current event counter.
- extend_factornb.int64
Factor by which to extend arrays when capacity is reached.
Initialize the RPacketTracker with arrays for tracking packet events.
- Parameters:
- lengthint
Initial length of the tracking arrays.
- class_type = jitclass.TrackerFull#7b8f774e7150<radius:array(float64, 1d, A),before_shell_id:array(int64, 1d, A),after_shell_id:array(int64, 1d, A),interaction_type:array(int64, 1d, A),status:array(int64, 1d, A),before_nu:array(float64, 1d, A),before_mu:array(float64, 1d, A),before_energy:array(float64, 1d, A),after_nu:array(float64, 1d, A),after_mu:array(float64, 1d, A),after_energy:array(float64, 1d, A),line_absorb_id:array(int64, 1d, A),line_emit_id:array(int64, 1d, A),next_line_id:array(int64, 1d, A),event_id:int64,extend_factor:int64>
- class tardis.transport.montecarlo.packets.trackers.TrackerFullSolver(initial_length: int = 1000, extend_factor: int = 2)[source]
Bases:
objectSolver for TrackerFull. Holds configuration and generates tracker states.
- create_tracker_state(num_packets: int) TrackerFullState[source]
- process_tracker_state(tracker_state: TrackerFullState) None[source]
Process a completed tracker state and add DataFrames to it. Removes the tracker list after processing.
- class tardis.transport.montecarlo.packets.trackers.TrackerFullState(trackers: list, full_df: DataFrame | None = None, last_interaction_df: DataFrame | None = None, has_tracked: bool = False)[source]
Bases:
objectHolds a list of TrackerFull instances and DataFrames.
- class tardis.transport.montecarlo.packets.trackers.TrackerLastInteraction(*args, **kwargs)[source]
Bases:
TrackerLastInteractionInitialize properties with default values. Float values are initialized with NaN for better data quality tracking.
- class_type = jitclass.TrackerLastInteraction#7b8f77127a00<radius:float64,nu:float64,mu:float64,energy:float64,shell_id:int64,interaction_type:int64,before_nu:float64,before_mu:float64,before_energy:float64,after_nu:float64,after_mu:float64,after_energy:float64,interaction_line_absorb_id:int64,interaction_line_emit_id:int64,interactions_count:int64,_boundary_interactions_buffer:int64>
- tardis.transport.montecarlo.packets.trackers.generate_tracker_full_list(no_of_packets: int, length: int, extend_factor: int = 2) List[source]
Generate list of RPacketTracker instances.
- Parameters:
- no_of_packetsint
The count of RPackets that are sent in the ejecta.
- lengthint
Initial length of the tracking array.
- Returns:
- TypedList
A numba.typed.list containing RPacketTracker for each RPacket.
- tardis.transport.montecarlo.packets.trackers.generate_tracker_last_interaction_list(no_of_packets)[source]
- Parameters:
- no_of_packetsThe count of RPackets that are sent in the ejecta
- Returns:
- A list containing RPacketLastInteractionTracker for each RPacket
- tardis.transport.montecarlo.packets.trackers.interaction_type_to_categorical(interaction_type: ArrayLike) Categorical[source]
Convert
InteractionTypecodes to a categorical of their names.- Parameters:
- interaction_typearray-like
InteractionTypeinteger codes.
- Returns:
- pandas.Categorical
Interaction type names, with every
InteractionTypeas a category.
- tardis.transport.montecarlo.packets.trackers.interaction_type_to_codes(interaction_type: ArrayLike) ndarray[source]
Convert interaction type names to
InteractionTypecodes.- Parameters:
- interaction_typearray-like
Interaction type names, as strings or a categorical with any category order, e.g. a
tracker_full_dfcolumn.
- Returns:
- numpy.ndarray
InteractionTypeinteger codes.
- Raises:
- ValueError
If a name is missing or not an
InteractionTypemember.
- tardis.transport.montecarlo.packets.trackers.tracker_full_df2tracker_last_interaction_df(full_df: DataFrame) DataFrame[source]
Convert a full tracking dataframe to show only the last interaction for each packet.
Takes a full event tracking dataframe (from trackers_full_to_dataframe) and filters it to show only the last physics interaction each packet experienced.
- Parameters:
- full_dfpd.DataFrame
Full event tracking dataframe with multi-index (packet_id, event_id) and columns [‘radius’, ‘before_shell_id’, ‘after_shell_id’, ‘interaction_type’].
- Returns:
- pd.DataFrame
DataFrame containing last interaction data for each packet, indexed by packet_id with columns [‘radius’, ‘shell_id’, ‘last_interaction_type’, ‘line_absorb_id’, ‘line_emit_id’, ‘before_nu’, ‘before_mu’, ‘before_energy’, ‘after_nu’, ‘after_mu’, ‘after_energy’]. Note: shell_id comes from before_shell_id.
- tardis.transport.montecarlo.packets.trackers.trackers_full_list_to_arrays(trackers: List, release_trackers: bool = False) tuple[source]
Convert a list of TrackerFull instances to concatenated arrays efficiently.
- Parameters:
- trackersnumba.typed.typedlist.List
List of TrackerFull instances.
- release_trackersbool, optional
Empty each tracker’s arrays once copied, to lower peak memory. The trackers cannot be used afterwards. Default False.
- Returns:
- tuple
Event arrays as returned by
trackers_full_list_to_selected_arrays.
- tardis.transport.montecarlo.packets.trackers.trackers_full_to_df(trackers_full_list: List, release_trackers: bool = False) DataFrame[source]
Convert a list of RPacketTracker instances to a comprehensive DataFrame.
- Parameters:
- rpacket_trackersnumba.typed.typedlist.List
List of RPacketTracker instances.
- release_trackersbool, optional
Empty each tracker’s arrays once copied, to lower peak memory. The trackers cannot be used afterwards. Default False.
- Returns:
- pd.DataFrame
DataFrame containing all event data including line interaction details, indexed by packet_id and event_id. Line interaction columns have default values (-1 for IDs, NaN for physical quantities) for non-interaction events.
- tardis.transport.montecarlo.packets.trackers.trackers_last_interaction_to_df(tracker_list)[source]
Convert a list of RPacketLastInteractionTracker instances to a DataFrame.
This function extracts the last interaction data from each tracker and creates a pandas DataFrame with the same structure as tracker_full_df2tracker_last_interaction_df.
- Parameters:
- tracker_listlist
List of RPacketLastInteractionTracker instances
- Returns:
- pd.DataFrame
DataFrame containing last interaction data with columns matching tracker_full_df2tracker_last_interaction_df output: - last_interaction_type: Type of the last interaction (categorical) - status: Packet status (categorical) - radius: Radius at interaction - shell_id: Shell ID where interaction occurred - before_nu: Frequency before interaction - before_mu: Direction cosine before interaction - before_energy: Energy before interaction - after_nu: Frequency after interaction - after_mu: Direction cosine after interaction - after_energy: Energy after interaction - line_absorb_id: Line ID for absorbed line interactions (-1 for non-line) - line_emit_id: Line ID for emitted line interactions (-1 for non-line)