/** \file Control selection of which parts of Event are streamed \author Tom Paul \version $Id$ \date 16 Feb 2005 */ #ifndef _io_StreamerSwitch_h_ #define _io_StreamerSwitch_h_ static const char CVSId_io_StreamerSwitch[] = "$Id$"; namespace io { /** \class StreamerSwitch StreamerSwitch.h "io/StreamerSwitch.h" \brief switches to allow excluding certain parts of Event from streaming \author T. Paul \date 16 February 2005 \ingroup offline_io */ class StreamerSwitch { public: StreamerSwitch(); ~StreamerSwitch() { } /// Switch for all RAW data streamers void SetRaw(const bool s) { fRawData = s; } /// Get value of RAW switch bool GetRaw() const { return fRawData; } /// Switch for all raw FD data streamers void SetFDRaw(const bool s) { fFDRawData = s; } /// Get value of FDRaw switch bool GetFDRaw() const { return fFDRawData; } /// Switch off all simulated FD photon traces /*! - showersimdate: Shower light photon traces (fluoresece, cerenkov) - pixelsimda: photon traces */ void SetFDSimPhotonTraces(const bool s) { fFDSimPhotonTraces = s; } /// Get value of FDSimPhotonTraces bool GetFDSimPhotonTraces() const { return fFDSimPhotonTraces; } /// Switch off all simulated FD telescopes void SetFDSimTelescope(const bool s) { fFDSimTelescope = s; } /// Get value of FDSimPhotonTraces bool GetFDSimTelescope() const { return fFDSimTelescope;} /// Switch for streamers for PE time distributions. /*! This is the PE release time distribution generated by tank simulations. It is typically stored in very finely binned (usually 1 ns) histograms, and so can get quite large. */ void SetSDSimPETimeDistribution(const bool s) { fSDSimPMTPETimeDistribution = s; } /// Get value of SDSimPETimeDistribution switch bool GetSDSimPETimeDistribution() const { return fSDSimPMTPETimeDistribution; } /// Switch for streamers for SD PMT base time distribution (from SD simulation) /*! This is the histogram describing the signal as seen at the PMT base. It is typically stored in very finely binned (usually 1 ns) histograms, and so can get quite large. */ void SetSDSimPMTBaseTimeDistribution(const bool s) { fSDSimPMTBaseTimeDistribution = s; } /// Get value of SDSimPMTBaseTimeDistribution switch (from SD simulation) bool GetSDSimPMTBaseTimeDistribution() const { return fSDSimPMTBaseTimeDistribution; } /// Switch for streamers for SD filter time distribution (from SD simulation) /*! This is the histogram describing the signal seen after the front end filter. It is typically stored in very finely binned (usually 1 ns) histograms, and so can get quite large. */ void SetSDSimPMTFilterTimeDistribution(const bool s) { fSDSimPMTFilterTimeDistribution = s; } /// Get value of SDPMTFilterTimeDistribution switch bool GetSDSimPMTFilterTimeDistribution() const { return fSDSimPMTFilterTimeDistribution; } // Switch for streamers for particles injected into a simulated tank void SetSDSimTankParticles(const bool s) { fSDSimTankParticles = s; } // Get switch for streamers for particles injected into a simulated tank bool GetSDSimTankParticles() const { return fSDSimTankParticles; } private: bool fRawData; bool fFDRawData; bool fFDSimPhotonTraces; bool fFDSimTelescope; bool fSDSimPMTPETimeDistribution; bool fSDSimPMTBaseTimeDistribution; bool fSDSimPMTFilterTimeDistribution; bool fSDSimTankParticles; }; } #endif // Configure (x)emacs for this file ... // Local Variables: // mode: c++ // compile-command: "make -C .. -k" // End: