tardis.transport.montecarlo.packets.trackers.tracker_full_util module

tardis.transport.montecarlo.packets.trackers.tracker_full_util.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:
list

A list containing RPacketTracker for each RPacket.

tardis.transport.montecarlo.packets.trackers.tracker_full_util.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.tracker_full_util.trackers_full_list_to_arrays(trackers) tuple[source]

Convert a list of TrackerFull instances to concatenated arrays efficiently.

Parameters:
trackersnumba.typed.typedlist.List

List of TrackerFull instances.

Returns:
tuple

Tuple containing: - packet_id (np.int64[:]) : Packet ID for each event - event_id (np.int64[:]) : Event ID within each packet - r (np.float64[:]) : Radius at each event - before_shell_id (np.int64[:]) : Shell ID before each event - after_shell_id (np.int64[:]) : Shell ID after each event - interaction_type (np.int64[:]) : Interaction type at each event - status (np.int64[:]) : Status at each event - before_nu (np.float64[:]) : Frequency before interaction - before_mu (np.float64[:]) : Mu before interaction - before_energy (np.float64[:]) : Energy before interaction - after_nu (np.float64[:]) : Frequency after interaction - after_mu (np.float64[:]) : Mu after interaction - after_energy (np.float64[:]) : Energy after interaction - line_absorb_id (np.int64[:]) : Line absorb ID - line_emit_id (np.int64[:]) : Line emit ID

tardis.transport.montecarlo.packets.trackers.tracker_full_util.trackers_full_to_df(trackers_full_list) DataFrame[source]

Convert a list of RPacketTracker instances to a comprehensive DataFrame.

Parameters:
rpacket_trackersnumba.typed.typedlist.List

List of RPacketTracker instances.

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.