icecube.topsimulator.segments module

Convenient segments to do IceTop simulations. These are not ‘official’ in any way.

icecube.topsimulator.segments.CalibrateAndExtract(tray, name, Launches, tag='')

Generates calibrated charges and waveforms.

This is here just for convenience and replicates things that are normally part of level 2. To use this segment WaveCalibrator and tpx must be part of the meta-project.

class icecube.topsimulator.segments.DummySubEventSplit(ctx)

Bases: I3Module

Adds a Physics frame for each DAQ frame.

This module exists so I can then use tableio to save things. Is there something for this in IceTray?

Configure((I3Module)arg1) None :
C++ signature :

void Configure(PythonModule<I3Module> {lvalue})

DAQ((I3Module)arg1, (I3Frame)arg2) None :
C++ signature :

void DAQ(PythonModule<I3Module> {lvalue},boost::shared_ptr<I3Frame>)

icecube.topsimulator.segments.SimIceTop(tray, name, input, output=None, gcd=None, log_level=2, samples=1, tanks=[], x=0.0, y=0.0, r=0.0, seed=0, rng='gsl', injector='normal', response='g4', new=True, pecompress=2, weighted=False, calibrate=False, trigger=False, raise_obs_level=0.0, correct_obs_level=False, event_id=0, run_id=0)

Simulate IceTop response.

Input can be a list of CORSIKA files or a tuple of (str, kwargs), which are passed to tray.AddService(str, "particle-injector", **kwargs) to create a custom particle injector. RandomServiceName should not be specified, it is overridden internally.

The option “weighted” only takes effect if the input are CORSIKA files.

icecube.topsimulator.segments.SimulateNew(tray, name, InjectorServiceName, ResponseServiceName, RandomServiceName, PrimaryName='MCPrimary', InIceMCTreeName='I3MCTree', IceTopMCTreeName='I3MCTreeIT', IceTopHitSeriesName='MCTopHitSeriesMap', IceTopPESeriesName='MCTopPESeriesMap', IceTopTestPulsesName='', IceTopCherenkovHitSeriesName='MCTopCherenkovPulses', CompressPEs=2, Tanks=[], SuperNovaMode=False)

Runs the main simulation modules using DOMLauncher. It has not been tested.