There is a second data structure, the Permanent Data Structure, that also contains information about the state of the detector, pertaining to the current event. Like the current event data, it is stored in the ZEBRA memory array IQ/RQ/LQ, but it differs in that it is not lost when a new event is input. Instead it is only overwritten when a replacment is encountered. For example the Run Header that occurs at the start of each run. If a file containing several runs is processed, each new RHDR replaces the previous one.
Some programming notes can be found in the chapter "Adding Code to SNOMAN" of the User Manual This sections is organised as follows:-
The Event Data Structure Tree
The Permanent Data Structure Tree
Alphabetic List of all Event Banks
MAST | +---------------------------------------------EV | | | | | Monte +---------+------------------+ | Carlo | | | +----ZDAB Raw Packed | +----MC | | data | | | | +---PBUN | | +----MCPM | | | | +-------+---------+ | | +----MCVX | | | | | | | Raw unpacked | Raw unpacked | Analysis | | +-----MCTK | PMT | NCD | | | | | | | +-----MCGN +----PMT +----NESG +-------------FT | | | | | | | +-----EGS4 +----OWL +----NES +----RSP +-----------------FTX | | | | | | | +-----MCNS +----LG +----NEMG +----ANAL +----FTXV | | | | | | | | +-----MCNH +----FECD +----NEMS +---------------NPA | +----FTXT | | | | | | | | +----MCNA +----PX +----NEMC | +----NPAA +----FTXA | NCD | | | | | | | +----MCNQ +----BUTT +----NPFA +----NPAC | +----FTXC | | | | | | | | +----MCNC +----NECK +----NECL +----NPAD | +----FTXR | | | | | | | +----MCNT +----CL +----NPAQ | +----FTXK | | | | | | +------DSML +----MCNI +----CLN +----NPAW | +----FTXP | | +----CLNP +-----FTRM | (FTR only) +----CLNOIn the above diagram, each bank shown represents a linear chain of banks. Each bank is supported by the bank that is directly connected above. So, for example, the MCVX is a linear chain of Monte Carlo VerteX banks each of which supports a linear chain of MCTK Monte Carlo TracK banks. MCVX is in turn supported by the MC Monte Carlo bank. The top level bank is MAST and is not supported by any higher bank.
MAST | +------------------------RLOG | | +--------------LABL +-------HIDX | | +--------------RHDR +-------RLAI | | +--------------TRIG +-------RLDT | | +--------------EPED +-------RLES | | +--------------SOSX +-------RLCS | | +--------------SOSF +-------RLPN | | +--------------CAAC +-------CAST | | +--------------CAST +-------SOSX | | +--------------NGGR +-------TRIGLike the Event Data Structure Tree this data is stored in the IQ/RQ/LQ ZEBRA store. However it is stored in the permanent division . Each time a new permanent data structure is encountered the relevant part of this structure is updated and obsolete banks deleted. Other sections of the structure remain unchanged.
ANAL Analysis bank BUTT BUTT's PMT bank CAAC AV status bank CAST Manipulator source status bank CL Classifier despatch bank CLN Network Classifier bank CLNO Network Classifier Output bank CLNP Network Classifier Input Parameters bank DSML Data Structure Manager Log bank EGS4 EGS4 bank. One for each track passed to EGS4 EPED Electronics Calibration Pedestal bank EV Event bank Event_io_user_header FECD FECD Front end card data bank FT Fitter Dispatch bank FTA Attenuation Fitter Summary bank FTAT Attenuation Fitter Track bank FTAV Attenuation Fitter Vertex bank FTC Stopping Muon Fitter Summary bank FTCT Stopping Muon Fitter Track bank FTCV Stopping Muon Fitter Vertex bank FTE Elastic Fitter Summary bank FTET Elastic Fitter Track bank FTEV Elastic Fitter Vertex bank FTG Grid Fitter Summary bank FTGT Grid Fitter Track bank FTGV Grid Fitter Vertex bank FTI "Impact Parameter" Muon Fitter Summary bank FTIT "Impact Parameter" Muon Fitter Track bank FTIV "Impact Parameter" Muon Fitter Vertex bank FTK Energy Fitter Summary bank FTKT Energy Fitter Track bank FTKV Energy Fitter Vertex bank FTM Muon Fitter Summary bank FTMT Muon Fitter Track bank FTMV Muon Fitter Exit Vertex bank FTP Path Fitter Summary bank FTPT Path Fitter Track bank FTPV Path Fitter Vertex bank FTQ Quad Fitter Summary bank FTQV Quad Fitter Vertex bank FTR Through-going muon fitter Summary bank FTRM Through-going muon fitter Monte Carlo Summary bank FTRT Through-going muon fitter Track bank FTRV Through-going muon fitter Vertex bank FTT Time Fitter Summary bank FTTT Time Fitter Track bank FTTV Time Fitter Vertex bank FTX Generic Fitter Summary bank FTXA Analysis Dispatch bank FTXC Classifier Parameters bank FTXK Energy Calibration (FTK) bank FTXP Fitter Muon Parameters bank FTXR Energy Calibration (RSP) bank FTXT Generic Fitter Track bank FTXV Generic Fitter Vertex bank FTY Charge only Impact Parameter Muon Fitter Summary bank FTYT Charge-only Impact Parameter Muon Fitter Track bank FTYV Charge-only Impact Parameter Muon Fitter Vertex bank FTZ Time only Impact Parameter Muon Fitter Summary bank FTZT Time-only Impact Parameter Muon Fitter Track bank FTZV Time-only Impact Parameter Muon Fitter Track bank HIDx Runlog histogram/ntuple data banks from HBOOK LABL Label bank LG LG Low Gain PMT bank MAST Master bank MC Monte Carlo top level bank MCGN Monte Carlo Generator bank MCNA Monte Carlo NCD Analogue Current after preamplification MCNC Monte Carlo NCD Current before preamplification MCNH Monte Carlo NCD Hit String MCNI Monte Carlo NCD Ionisation deposition MCNQ Monte Carlo NCD Shaper Charge MCNS Monte Carlo NCD Signal from a String Set MCNT Monte Carlo NCD Track incursion MCPM Monte Carlo PMT bank MCTK Monte Carlo Track bank MCVX Monte Carlo Vertex bank NECK Neck PMT bank NECL NCD Event Shaper Scope Correlation NEMC NCD Event MuxScope Calibrated Record NEMG NCD Event Mux Global Record NEMS NCD Event MuxScope Records NES NCD Event Shaper ADC NESG NCD Event Shaper ADC Global Record NGGR NGGR NCD Global Generic Record NPAA NCD First Pulse Shape Analysis NPA NCD Pulse Shape Analysis Dispatch Bank NPAA NCD First Pulse Shape Analysis NPAC NCD Statistical Classifier NPAD NCD Impulse function fitter NPAQ NCD Pulse Library Fitter NPAW NCD Deconvolved Waveform Analyser OWL OWL OutWard Looking PMT bank PBUN PMT bundle bank PF PMT flags list for all PMT hits PIF ZDAB_PMT PMT flags list for all PMT hits PIHL ZDAB_PMT charge list for all PMT hits PIHS ZDAB_PMT Short-integrator charges for all PMT hits PILX ZDAB_PMT Low-gain charges for all PMT hits PIN ZDAB_PMT PMT tube number list for all PMT hit PIT ZDAB_PMT jittered time list for all PMT hits PIT0 ZDAB_PMT PMT unjittered time list for all PMT hits PLX PMT Low-gain charges for all PMT hits PMT PMT "short fat" banks PN PMT tube number list for all PMT hits PHL PMT charge list for all PMT hits PHS PMT Short-integrator charges for all PMT hits PT PMT jittered time list for all PMT hits PT0 PMT unjittered time list for all PMT hits RHDR Run Header bank RLAI Runlog Analysis Top Bank RLCS Runlog Analysis Clock Status RLDT Runlog Analysis Dead Times RLES Runlog Analysis Electronics Status RLOG Runlog datastructure RLPN Runlog Analysis PMT Noise RSP Energy Calibration Bank SOSA Accelerator source status bank SOSF PSUP LED status bank SOSG N16/N17/Li8 gas source status bank SOSL Laserball source status bank SOSR Rotating source status bank start_of_run Start of Run Record ZDAB Zebra Data Acquisition/Analysis Bank