LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
detsim::DumpOpDetWaveforms Class Reference

Prints the content of all optical detector waveforms on screen. More...

Inheritance diagram for detsim::DumpOpDetWaveforms:
art::EDAnalyzer art::detail::Analyzer art::detail::LegacyModule art::Observer art::ModuleBase

Classes

struct  Config
 
struct  TimestampLabelMaker
 Base functor for printing time according to tick number. More...
 

Public Types

using Parameters = art::EDAnalyzer::Table< Config >
 
using ModuleType = EDAnalyzer
 

Public Member Functions

 DumpOpDetWaveforms (Parameters const &config)
 
void analyze (const art::Event &evt)
 Does the printing. More...
 
void doBeginJob (SharedResources const &resources)
 
void doEndJob ()
 
void doRespondToOpenInputFile (FileBlock const &fb)
 
void doRespondToCloseInputFile (FileBlock const &fb)
 
void doRespondToOpenOutputFiles (FileBlock const &fb)
 
void doRespondToCloseOutputFiles (FileBlock const &fb)
 
bool doBeginRun (RunPrincipal &rp, ModuleContext const &mc)
 
bool doEndRun (RunPrincipal &rp, ModuleContext const &mc)
 
bool doBeginSubRun (SubRunPrincipal &srp, ModuleContext const &mc)
 
bool doEndSubRun (SubRunPrincipal &srp, ModuleContext const &mc)
 
bool doEvent (EventPrincipal &ep, ModuleContext const &mc, std::atomic< std::size_t > &counts_run, std::atomic< std::size_t > &counts_passed, std::atomic< std::size_t > &counts_failed)
 
ModuleDescription const & moduleDescription () const
 
void setModuleDescription (ModuleDescription const &)
 
std::array< std::vector< ProductInfo >, NumBranchTypes > const & getConsumables () const
 
void sortConsumables (std::string const &current_process_name)
 
std::unique_ptr< Worker > makeWorker (WorkerParams const &wp)
 
template<typename T , BranchType BT>
ViewToken< T > consumesView (InputTag const &tag)
 
template<typename T , BranchType BT>
ViewToken< T > mayConsumeView (InputTag const &tag)
 

Protected Member Functions

std::string const & processName () const
 
bool wantAllEvents () const noexcept
 
bool wantEvent (ScheduleID id, Event const &e) const
 
Handle< TriggerResults > getTriggerResults (Event const &e) const
 
ConsumesCollector & consumesCollector ()
 
template<typename T , BranchType = InEvent>
ProductToken< T > consumes (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename T , BranchType = InEvent>
ProductToken< T > mayConsume (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 

Private Types

enum  sortMode { sortMode::DataProductOrder, sortMode::ChannelAndTime }
 

Static Private Member Functions

static std::vector< std::vector< raw::OpDetWaveform const * > > groupByChannel (std::vector< raw::OpDetWaveform > const &waveforms)
 Returns pointers to all waveforms in a vector with channel as index. More...
 
static void sortByTimestamp (std::vector< raw::OpDetWaveform const * > &waveforms)
 Sorts all the waveforms in the vector by growing timestamp. More...
 

Private Attributes

art::InputTag fOpDetWaveformsTag
 Input tag of data product to dump. More...
 
std::string fOutputCategory
 Category for mf::LogInfo output. More...
 
unsigned int fDigitsPerLine
 ADC readings per line in the output. More...
 
raw::ADC_Count_t fPedestal
 ADC pedestal (subtracted from readings). More...
 
sortMode fSortByChannelAndTime
 How to sort the waveforms in the dump. More...
 
std::unique_ptr< dump::raw::OpDetWaveformDumper::TimeLabelMakerfTimeLabel
 The object used to print tick labels. More...
 

Detailed Description

Prints the content of all optical detector waveforms on screen.

This analyser prints the content of all the raw digits into the LogInfo/LogVerbatim stream.

Configuration parameters

  • OpDetWaveformsTag (string, default: daq): input tag of the raw::OpDetWaveform collection to be dumped
  • OutputCategory (string, default: DumpOpDetWaveforms): the category used for the output (useful for filtering)
  • DigitsPerLine (integer, default: 20): the dump of ADC readings will put this many of them for each line
  • Pedestal (integer, default: 0): ADC readings are written relative to this number
  • TickLabel (string, default: "tick"): a preamble to each line of the dumped waveform digits, chosen among:
    • "tick": the tick number of the waveform is printed (starts at 0)
    • "time": timestamp (µs) of the first tick in the row
    • "none": no preamble written at all

Definition at line 58 of file DumpOpDetWaveforms_module.cc.

Member Typedef Documentation

Definition at line 22 of file EDAnalyzer.h.

Member Enumeration Documentation

Enumerator
DataProductOrder 

Unsorted: same order as the input data product.

ChannelAndTime 

Sort by PMT channel number, then timestamp.

Definition at line 106 of file DumpOpDetWaveforms_module.cc.

106  {
107  DataProductOrder,
108  ChannelAndTime
109  }; // sortMode

Constructor & Destructor Documentation

detsim::DumpOpDetWaveforms::DumpOpDetWaveforms ( Parameters const &  config)
explicit

Definition at line 150 of file DumpOpDetWaveforms_module.cc.

References art::errors::Configuration, and fTimeLabel.

151  : EDAnalyzer(config)
152  , fOpDetWaveformsTag(config().OpDetWaveformsTag())
153  , fOutputCategory(config().OutputCategory())
154  , fDigitsPerLine(config().DigitsPerLine())
155  , fPedestal(config().Pedestal())
156  , fSortByChannelAndTime(config().SortByChannelAndTime() ? sortMode::ChannelAndTime :
158  {
159  std::string const tickLabelStr = config().TickLabel();
160  if (tickLabelStr == "none") {
161  fTimeLabel.reset(); // not very useful, but let's be explicit
162  }
163  else if (tickLabelStr == "tick") {
164  fTimeLabel = std::make_unique<dump::raw::OpDetWaveformDumper::TickLabelMaker>();
165  }
166  else if (tickLabelStr == "time") {
167  auto const clock_data =
169  fTimeLabel = std::make_unique<TimestampLabelMaker>(clock_data.OpticalClock().TickPeriod());
170  }
171  else {
173  << "Invalid choice '" << tickLabelStr << "' for time label.\n";
174  }
175 
176  } // DumpOpDetWaveforms::DumpOpDetWaveforms()
std::string fOutputCategory
Category for mf::LogInfo output.
EDAnalyzer(fhicl::ParameterSet const &pset)
Definition: EDAnalyzer.cc:6
std::unique_ptr< dump::raw::OpDetWaveformDumper::TimeLabelMaker > fTimeLabel
The object used to print tick labels.
raw::ADC_Count_t fPedestal
ADC pedestal (subtracted from readings).
Unsorted: same order as the input data product.
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
sortMode fSortByChannelAndTime
How to sort the waveforms in the dump.
art::InputTag fOpDetWaveformsTag
Input tag of data product to dump.
unsigned int fDigitsPerLine
ADC readings per line in the output.
Sort by PMT channel number, then timestamp.

Member Function Documentation

void detsim::DumpOpDetWaveforms::analyze ( const art::Event evt)

Does the printing.

Definition at line 179 of file DumpOpDetWaveforms_module.cc.

References ChannelAndTime, DataProductOrder, fDigitsPerLine, fOpDetWaveformsTag, fOutputCategory, fPedestal, fSortByChannelAndTime, fTimeLabel, groupByChannel(), and sortByTimestamp().

180  {
181 
182  // fetch the data to be dumped on screen
183  auto const& Waveforms = event.getProduct<std::vector<raw::OpDetWaveform>>(fOpDetWaveformsTag);
184 
186  dump.setTimeLabelMaker(fTimeLabel.get());
187 
188  mf::LogVerbatim(fOutputCategory) << "The event " << event.id() << " contains data for "
189  << Waveforms.size() << " optical detector channels";
190  if (fPedestal != 0) {
192  << "A pedestal of " << fPedestal << " counts will be subtracted from all ADC readings.";
193  } // if pedestal
194 
195  switch (fSortByChannelAndTime) {
197  dump.setIndent(" ");
198  for (raw::OpDetWaveform const& waveform : Waveforms) {
200  dump(log, waveform);
201  } // for waveforms on channel
202  } break; // sortMode::DataProductOrder
204  dump.setIndent(" ");
205 
206  auto groupedWaveforms = groupByChannel(Waveforms);
207  for (auto& channelWaveforms : groupedWaveforms) {
208  if (channelWaveforms.empty()) continue;
209 
210  sortByTimestamp(channelWaveforms);
211  auto const channel = channelWaveforms.front()->ChannelNumber();
212 
213  mf::LogVerbatim(fOutputCategory) << " optical detector channel #" << channel << " has "
214  << channelWaveforms.size() << " waveforms:";
215 
216  for (raw::OpDetWaveform const* pWaveform : channelWaveforms) {
218  dump(log, *pWaveform);
219  } // for waveforms on channel
220 
221  } // for all channels
222  } break; // sortMode::ChannelAndTime
223  } // switch (fSortMode)
224 
225  } // DumpOpDetWaveforms::analyze()
MaybeLogger_< ELseverityLevel::ELsev_info, true > LogVerbatim
std::string fOutputCategory
Category for mf::LogInfo output.
std::unique_ptr< dump::raw::OpDetWaveformDumper::TimeLabelMaker > fTimeLabel
The object used to print tick labels.
static std::vector< std::vector< raw::OpDetWaveform const * > > groupByChannel(std::vector< raw::OpDetWaveform > const &waveforms)
Returns pointers to all waveforms in a vector with channel as index.
raw::ADC_Count_t fPedestal
ADC pedestal (subtracted from readings).
Collection of utilities for dumping data on screen.
Definition: DumperBase.h:28
Unsorted: same order as the input data product.
Prints the content of optical detector waveforms on screen.
Definition: OpDetWaveform.h:43
static void sortByTimestamp(std::vector< raw::OpDetWaveform const * > &waveforms)
Sorts all the waveforms in the vector by growing timestamp.
sortMode fSortByChannelAndTime
How to sort the waveforms in the dump.
art::InputTag fOpDetWaveformsTag
Input tag of data product to dump.
unsigned int fDigitsPerLine
ADC readings per line in the output.
Sort by PMT channel number, then timestamp.
template<typename T , BranchType BT>
ProductToken< T > art::ModuleBase::consumes ( InputTag const &  tag)
protectedinherited

Definition at line 61 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::consumes().

62  {
63  return collector_.consumes<T, BT>(tag);
64  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
ProductToken< T > consumes(InputTag const &)
ConsumesCollector & art::ModuleBase::consumesCollector ( )
protectedinherited

Definition at line 57 of file ModuleBase.cc.

References art::ModuleBase::collector_.

58  {
59  return collector_;
60  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename T , BranchType BT>
void art::ModuleBase::consumesMany ( )
protectedinherited

Definition at line 75 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::consumesMany().

76  {
77  collector_.consumesMany<T, BT>();
78  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::ModuleBase::consumesView ( InputTag const &  )
protectedinherited
template<typename T , BranchType BT>
ViewToken<T> art::ModuleBase::consumesView ( InputTag const &  tag)
inherited

Definition at line 68 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::consumesView().

69  {
70  return collector_.consumesView<T, BT>(tag);
71  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
ViewToken< Element > consumesView(InputTag const &)
void art::detail::Analyzer::doBeginJob ( SharedResources const &  resources)
inherited

Definition at line 25 of file Analyzer.cc.

Referenced by art::detail::Analyzer::Analyzer().

26  {
27  setupQueues(resources);
28  ProcessingFrame const frame{ScheduleID{}};
29  beginJobWithFrame(frame);
30  }
virtual void beginJobWithFrame(ProcessingFrame const &)=0
virtual void setupQueues(SharedResources const &)=0
bool art::detail::Analyzer::doBeginRun ( RunPrincipal rp,
ModuleContext const &  mc 
)
inherited

Definition at line 68 of file Analyzer.cc.

References art::ModuleContext::scheduleID().

Referenced by art::detail::Analyzer::Analyzer().

69  {
70  ProcessingFrame const frame{mc.scheduleID()};
71  beginRunWithFrame(std::as_const(rp).makeRun(mc), frame);
72  return true;
73  }
virtual void beginRunWithFrame(Run const &, ProcessingFrame const &)=0
bool art::detail::Analyzer::doBeginSubRun ( SubRunPrincipal srp,
ModuleContext const &  mc 
)
inherited

Definition at line 84 of file Analyzer.cc.

References art::ModuleContext::scheduleID().

Referenced by art::detail::Analyzer::Analyzer().

85  {
86  ProcessingFrame const frame{mc.scheduleID()};
87  beginSubRunWithFrame(std::as_const(srp).makeSubRun(mc), frame);
88  return true;
89  }
virtual void beginSubRunWithFrame(SubRun const &, ProcessingFrame const &)=0
void art::detail::Analyzer::doEndJob ( )
inherited

Definition at line 33 of file Analyzer.cc.

Referenced by art::detail::Analyzer::Analyzer().

34  {
35  ProcessingFrame const frame{ScheduleID{}};
36  endJobWithFrame(frame);
37  }
virtual void endJobWithFrame(ProcessingFrame const &)=0
bool art::detail::Analyzer::doEndRun ( RunPrincipal rp,
ModuleContext const &  mc 
)
inherited

Definition at line 76 of file Analyzer.cc.

References art::ModuleContext::scheduleID().

Referenced by art::detail::Analyzer::Analyzer().

77  {
78  ProcessingFrame const frame{mc.scheduleID()};
79  endRunWithFrame(std::as_const(rp).makeRun(mc), frame);
80  return true;
81  }
virtual void endRunWithFrame(Run const &, ProcessingFrame const &)=0
bool art::detail::Analyzer::doEndSubRun ( SubRunPrincipal srp,
ModuleContext const &  mc 
)
inherited

Definition at line 92 of file Analyzer.cc.

References art::ModuleContext::scheduleID().

Referenced by art::detail::Analyzer::Analyzer().

93  {
94  ProcessingFrame const frame{mc.scheduleID()};
95  endSubRunWithFrame(std::as_const(srp).makeSubRun(mc), frame);
96  return true;
97  }
virtual void endSubRunWithFrame(SubRun const &, ProcessingFrame const &)=0
bool art::detail::Analyzer::doEvent ( EventPrincipal ep,
ModuleContext const &  mc,
std::atomic< std::size_t > &  counts_run,
std::atomic< std::size_t > &  counts_passed,
std::atomic< std::size_t > &  counts_failed 
)
inherited

Definition at line 100 of file Analyzer.cc.

References e, and art::ModuleContext::scheduleID().

Referenced by art::detail::Analyzer::Analyzer().

105  {
106  auto const e = std::as_const(ep).makeEvent(mc);
107  if (wantEvent(mc.scheduleID(), e)) {
108  ++counts_run;
109  ProcessingFrame const frame{mc.scheduleID()};
110  analyzeWithFrame(e, frame);
111  ++counts_passed;
112  }
113  return true;
114  }
bool wantEvent(ScheduleID id, Event const &e) const
Definition: Observer.cc:63
Float_t e
Definition: plot.C:35
virtual void analyzeWithFrame(Event const &, ProcessingFrame const &)=0
void art::detail::Analyzer::doRespondToCloseInputFile ( FileBlock const &  fb)
inherited

Definition at line 47 of file Analyzer.cc.

Referenced by art::detail::Analyzer::Analyzer().

48  {
49  ProcessingFrame const frame{ScheduleID{}};
51  }
TFile fb("Li6.root")
virtual void respondToCloseInputFileWithFrame(FileBlock const &, ProcessingFrame const &)=0
void art::detail::Analyzer::doRespondToCloseOutputFiles ( FileBlock const &  fb)
inherited

Definition at line 61 of file Analyzer.cc.

Referenced by art::detail::Analyzer::Analyzer().

62  {
63  ProcessingFrame const frame{ScheduleID{}};
65  }
virtual void respondToCloseOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
void art::detail::Analyzer::doRespondToOpenInputFile ( FileBlock const &  fb)
inherited

Definition at line 40 of file Analyzer.cc.

Referenced by art::detail::Analyzer::Analyzer().

41  {
42  ProcessingFrame const frame{ScheduleID{}};
44  }
TFile fb("Li6.root")
virtual void respondToOpenInputFileWithFrame(FileBlock const &, ProcessingFrame const &)=0
void art::detail::Analyzer::doRespondToOpenOutputFiles ( FileBlock const &  fb)
inherited

Definition at line 54 of file Analyzer.cc.

Referenced by art::detail::Analyzer::Analyzer().

55  {
56  ProcessingFrame const frame{ScheduleID{}};
58  }
virtual void respondToOpenOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
std::array< std::vector< ProductInfo >, NumBranchTypes > const & art::ModuleBase::getConsumables ( ) const
inherited

Definition at line 43 of file ModuleBase.cc.

References art::ModuleBase::collector_, and art::ConsumesCollector::getConsumables().

44  {
45  return collector_.getConsumables();
46  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
std::array< std::vector< ProductInfo >, NumBranchTypes > const & getConsumables() const
Handle< TriggerResults > art::Observer::getTriggerResults ( Event const &  e) const
protectedinherited

Definition at line 75 of file Observer.cc.

References art::ProductRetriever::get(), and art::Observer::selectors_.

Referenced by art::OutputModule::doWriteEvent(), and art::Observer::wantAllEvents().

76  {
77  if (selectors_) {
78  return selectors_->getOneTriggerResults(e);
79  }
80 
81  // The following applies for cases where no SelectEvents entries
82  // exist.
83  Handle<TriggerResults> h;
84  if (e.get(empty_process_name, h)) {
85  return h;
86  }
87  return Handle<TriggerResults>{};
88  }
Float_t e
Definition: plot.C:35
std::optional< detail::ProcessAndEventSelectors > selectors_
Definition: Observer.h:79
std::vector< std::vector< raw::OpDetWaveform const * > > detsim::DumpOpDetWaveforms::groupByChannel ( std::vector< raw::OpDetWaveform > const &  waveforms)
staticprivate

Returns pointers to all waveforms in a vector with channel as index.

Definition at line 228 of file DumpOpDetWaveforms_module.cc.

Referenced by analyze().

230  {
231  std::vector<std::vector<raw::OpDetWaveform const*>> groups;
232  for (auto const& waveform : waveforms) {
233  auto const channel = waveform.ChannelNumber();
234  if (groups.size() <= channel) groups.resize(channel + 1);
235  groups[channel].push_back(&waveform);
236  } // for
237  return groups;
238  } // DumpOpDetWaveforms::groupByChannel()
std::unique_ptr< Worker > art::ModuleBase::makeWorker ( WorkerParams const &  wp)
inherited

Definition at line 37 of file ModuleBase.cc.

References art::ModuleBase::doMakeWorker(), and art::NumBranchTypes.

38  {
39  return doMakeWorker(wp);
40  }
virtual std::unique_ptr< Worker > doMakeWorker(WorkerParams const &wp)=0
template<typename T , BranchType BT>
ProductToken< T > art::ModuleBase::mayConsume ( InputTag const &  tag)
protectedinherited

Definition at line 82 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsume().

83  {
84  return collector_.mayConsume<T, BT>(tag);
85  }
ProductToken< T > mayConsume(InputTag const &)
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename T , BranchType BT>
void art::ModuleBase::mayConsumeMany ( )
protectedinherited

Definition at line 96 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsumeMany().

97  {
98  collector_.mayConsumeMany<T, BT>();
99  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::ModuleBase::mayConsumeView ( InputTag const &  )
protectedinherited
template<typename T , BranchType BT>
ViewToken<T> art::ModuleBase::mayConsumeView ( InputTag const &  tag)
inherited

Definition at line 89 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsumeView().

90  {
91  return collector_.mayConsumeView<T, BT>(tag);
92  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
ViewToken< Element > mayConsumeView(InputTag const &)
ModuleDescription const & art::ModuleBase::moduleDescription ( ) const
inherited

Definition at line 13 of file ModuleBase.cc.

References art::errors::LogicError.

Referenced by art::OutputModule::doRespondToOpenInputFile(), art::OutputModule::doWriteEvent(), art::Modifier::fillProductDescriptions(), art::OutputModule::makePlugins_(), art::OutputWorker::OutputWorker(), reco::shower::LArPandoraModularShowerCreation::produce(), art::Modifier::registerProducts(), and art::OutputModule::registerProducts().

14  {
15  if (md_.has_value()) {
16  return *md_;
17  }
18 
20  "There was an error while calling moduleDescription().\n"}
21  << "The moduleDescription() base-class member function cannot be called\n"
22  "during module construction. To determine which module is "
23  "responsible\n"
24  "for calling it, find the '<module type>:<module "
25  "label>@Construction'\n"
26  "tag in the message prefix above. Please contact artists@fnal.gov\n"
27  "for guidance.\n";
28  }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
std::optional< ModuleDescription > md_
Definition: ModuleBase.h:55
string const & art::Observer::processName ( ) const
protectedinherited

Definition at line 57 of file Observer.cc.

References art::Observer::process_name_.

Referenced by art::FileDumperOutput::printPrincipal().

58  {
59  return process_name_;
60  }
std::string process_name_
Definition: Observer.h:76
void art::ModuleBase::setModuleDescription ( ModuleDescription const &  md)
inherited

Definition at line 31 of file ModuleBase.cc.

References art::ModuleBase::md_.

32  {
33  md_ = md;
34  }
std::optional< ModuleDescription > md_
Definition: ModuleBase.h:55
void detsim::DumpOpDetWaveforms::sortByTimestamp ( std::vector< raw::OpDetWaveform const * > &  waveforms)
staticprivate

Sorts all the waveforms in the vector by growing timestamp.

Definition at line 241 of file DumpOpDetWaveforms_module.cc.

References raw::OpDetWaveform::ChannelNumber(), DEFINE_ART_MODULE, and raw::OpDetWaveform::TimeStamp().

Referenced by analyze().

242  {
243 
244  struct ChannelSorter {
245 
246  static bool sort(raw::OpDetWaveform const& a, raw::OpDetWaveform const& b)
247  {
248  if (a.ChannelNumber() < b.ChannelNumber()) return true;
249  if (a.ChannelNumber() > b.ChannelNumber()) return false;
250 
251  return (a.TimeStamp() < b.TimeStamp());
252  }
253 
254  bool operator()(raw::OpDetWaveform const& a, raw::OpDetWaveform const& b) const
255  {
256  return sort(a, b);
257  }
258 
259  bool operator()(raw::OpDetWaveform const* a, raw::OpDetWaveform const* b) const
260  {
261  return sort(*a, *b);
262  }
263 
264  }; // struct ChannelSorter
265  std::sort(waveforms.begin(), waveforms.end(), ChannelSorter());
266 
267  } // DumpOpDetWaveforms::sortByTimestamp()
Channel_t ChannelNumber() const
Definition: OpDetWaveform.h:52
TimeStamp_t TimeStamp() const
Definition: OpDetWaveform.h:53
void art::ModuleBase::sortConsumables ( std::string const &  current_process_name)
inherited

Definition at line 49 of file ModuleBase.cc.

References art::ModuleBase::collector_, and art::ConsumesCollector::sortConsumables().

50  {
51  // Now that we know we have seen all the consumes declarations,
52  // sort the results for fast lookup later.
53  collector_.sortConsumables(current_process_name);
54  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
void sortConsumables(std::string const &current_process_name)
bool art::Observer::wantAllEvents ( ) const
inlineprotectednoexceptinherited

Definition at line 31 of file Observer.h.

References e, art::Observer::getTriggerResults(), art::Observer::wantAllEvents_, and art::Observer::wantEvent().

32  {
33  return wantAllEvents_;
34  }
bool wantAllEvents_
Definition: Observer.h:75
bool art::Observer::wantEvent ( ScheduleID  id,
Event const &  e 
) const
protectedinherited

Definition at line 63 of file Observer.cc.

References art::Observer::rejectors_, art::Observer::selectors_, and art::Observer::wantAllEvents_.

Referenced by art::OutputModule::doEvent(), art::OutputModule::doWriteEvent(), and art::Observer::wantAllEvents().

64  {
65  if (wantAllEvents_) {
66  return true;
67  }
68  bool const select_event = selectors_ ? selectors_->matchEvent(id, e) : true;
69  bool const reject_event =
70  rejectors_ ? rejectors_->matchEvent(id, e) : false;
71  return select_event and not reject_event;
72  }
bool wantAllEvents_
Definition: Observer.h:75
std::optional< detail::ProcessAndEventSelectors > rejectors_
Definition: Observer.h:80
Float_t e
Definition: plot.C:35
std::optional< detail::ProcessAndEventSelectors > selectors_
Definition: Observer.h:79

Member Data Documentation

unsigned int detsim::DumpOpDetWaveforms::fDigitsPerLine
private

ADC readings per line in the output.

Definition at line 129 of file DumpOpDetWaveforms_module.cc.

Referenced by analyze().

art::InputTag detsim::DumpOpDetWaveforms::fOpDetWaveformsTag
private

Input tag of data product to dump.

Definition at line 127 of file DumpOpDetWaveforms_module.cc.

Referenced by analyze().

std::string detsim::DumpOpDetWaveforms::fOutputCategory
private

Category for mf::LogInfo output.

Definition at line 128 of file DumpOpDetWaveforms_module.cc.

Referenced by analyze().

raw::ADC_Count_t detsim::DumpOpDetWaveforms::fPedestal
private

ADC pedestal (subtracted from readings).

Definition at line 130 of file DumpOpDetWaveforms_module.cc.

Referenced by analyze().

sortMode detsim::DumpOpDetWaveforms::fSortByChannelAndTime
private

How to sort the waveforms in the dump.

Definition at line 131 of file DumpOpDetWaveforms_module.cc.

Referenced by analyze().

std::unique_ptr<dump::raw::OpDetWaveformDumper::TimeLabelMaker> detsim::DumpOpDetWaveforms::fTimeLabel
private

The object used to print tick labels.

Definition at line 134 of file DumpOpDetWaveforms_module.cc.

Referenced by analyze(), and DumpOpDetWaveforms().


The documentation for this class was generated from the following file: