Public Types | Public Member Functions | Private Attributes | List of all members
sim::DumpSimPhotonsLite Class Reference
Inheritance diagram for sim::DumpSimPhotonsLite:
art::EDAnalyzer art::detail::Analyzer art::detail::LegacyModule art::Observer art::ModuleBase

Public Types

using Parameters = art::EDAnalyzer::Table< Config >
 
- Public Types inherited from art::EDAnalyzer
using WorkerType = WorkerT< EDAnalyzer >
 
using ModuleType = EDAnalyzer
 

Public Member Functions

 DumpSimPhotonsLite (Parameters const &config)
 Configuration-checking constructor. More...
 
 DumpSimPhotonsLite (DumpSimPhotonsLite const &)=delete
 
 DumpSimPhotonsLite (DumpSimPhotonsLite &&)=delete
 
DumpSimPhotonsLiteoperator= (DumpSimPhotonsLite const &)=delete
 
DumpSimPhotonsLiteoperator= (DumpSimPhotonsLite &&)=delete
 
void analyze (art::Event const &event) override
 
template<typename Stream >
void DumpPhoton (Stream &&out, sim::SimPhotonsLite const &photons, std::string indent, std::string firstIndent) const
 Dumps the content of specified SimPhotonsLite in the output stream. More...
 
template<typename Stream >
void DumpPhoton (Stream &&out, sim::SimPhotonsLite const &photons, std::string indent="") const
 
- Public Member Functions inherited from art::EDAnalyzer
 EDAnalyzer (fhicl::ParameterSet const &pset)
 
template<typename Config >
 EDAnalyzer (Table< Config > const &config)
 
std::string workerType () const
 
- Public Member Functions inherited from art::detail::Analyzer
virtual ~Analyzer () noexcept
 
 Analyzer (fhicl::ParameterSet const &pset)
 
template<typename Config >
 Analyzer (Table< Config > const &config)
 
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)
 
- Public Member Functions inherited from art::Observer
 ~Observer () noexcept
 
 Observer (Observer const &)=delete
 
 Observer (Observer &&)=delete
 
Observeroperator= (Observer const &)=delete
 
Observeroperator= (Observer &&)=delete
 
void registerProducts (ProductDescriptions &, ModuleDescription const &)
 
void fillDescriptions (ModuleDescription const &)
 
fhicl::ParameterSetID selectorConfig () const
 
- Public Member Functions inherited from art::ModuleBase
virtual ~ModuleBase () noexcept
 
 ModuleBase ()
 
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)
 
template<typename T , BranchType BT>
ViewToken< T > consumesView (InputTag const &tag)
 
template<typename T , BranchType BT>
ViewToken< T > mayConsumeView (InputTag const &tag)
 

Private Attributes

art::InputTag fInputPhotons
 name of SimPhotons's data product More...
 
std::string fOutputCategory
 name of the stream for output More...
 

Additional Inherited Members

- Protected Member Functions inherited from art::Observer
std::string const & processName () const
 
bool wantAllEvents () const noexcept
 
bool wantEvent (ScheduleID id, Event const &e) const
 
Handle< TriggerResultsgetTriggerResults (Event const &e) const
 
 Observer (fhicl::ParameterSet const &config)
 
 Observer (std::vector< std::string > const &select_paths, std::vector< std::string > const &reject_paths, fhicl::ParameterSet const &config)
 
- Protected Member Functions inherited from art::ModuleBase
ConsumesCollectorconsumesCollector ()
 
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 ()
 

Detailed Description

Definition at line 59 of file DumpSimPhotonsLite_module.cc.

Member Typedef Documentation

Definition at line 62 of file DumpSimPhotonsLite_module.cc.

Constructor & Destructor Documentation

sim::DumpSimPhotonsLite::DumpSimPhotonsLite ( Parameters const &  config)
explicit

Configuration-checking constructor.

Definition at line 116 of file DumpSimPhotonsLite_module.cc.

117  : EDAnalyzer(config)
118  , fInputPhotons(config().InputPhotons())
119  , fOutputCategory(config().OutputCategory())
120 {}
EDAnalyzer(fhicl::ParameterSet const &pset)
Definition: EDAnalyzer.h:25
art::InputTag fInputPhotons
name of SimPhotons&#39;s data product
static Config * config
Definition: config.cpp:1054
std::string fOutputCategory
name of the stream for output
sim::DumpSimPhotonsLite::DumpSimPhotonsLite ( DumpSimPhotonsLite const &  )
delete
sim::DumpSimPhotonsLite::DumpSimPhotonsLite ( DumpSimPhotonsLite &&  )
delete

Member Function Documentation

void sim::DumpSimPhotonsLite::analyze ( art::Event const &  event)
overridevirtual

Implements art::EDAnalyzer.

Definition at line 156 of file DumpSimPhotonsLite_module.cc.

156  {
157 
158  // get the particles from the event
159  auto const& Photons
160  = *(event.getValidHandle<std::vector<sim::SimPhotonsLite>>(fInputPhotons));
161 
162  mf::LogVerbatim(fOutputCategory) << "Event " << event.id()
163  << " : data product '" << fInputPhotons.encode() << "' contains "
164  << Photons.size() << " SimPhotonsLite";
165 
166  unsigned int iChannel = 0;
167  for (sim::SimPhotonsLite const& photons: Photons) {
168 
170  // a bit of a header
171  log << "[#" << (iChannel++) << "] ";
172  DumpPhoton(log, photons, " ");
173 
174  } // for
175  mf::LogVerbatim(fOutputCategory) << "\n"; // just an empty line
176 
177 } // sim::DumpSimPhotonsLite::analyze()
MaybeLogger_< ELseverityLevel::ELsev_info, true > LogVerbatim
std::string encode() const
Definition: InputTag.cc:97
art::InputTag fInputPhotons
name of SimPhotons&#39;s data product
Compact representation of photons on a channel.
Definition: SimPhotons.h:103
void DumpPhoton(Stream &&out, sim::SimPhotonsLite const &photons, std::string indent, std::string firstIndent) const
Dumps the content of specified SimPhotonsLite in the output stream.
std::string fOutputCategory
name of the stream for output
template<typename Stream >
void sim::DumpSimPhotonsLite::DumpPhoton ( Stream &&  out,
sim::SimPhotonsLite const &  photons,
std::string  indent,
std::string  firstIndent 
) const

Dumps the content of specified SimPhotonsLite in the output stream.

Template Parameters
Streamthe type of output stream
Parameters
outthe output stream
photonsthe SimPhotonsLite to be dumped
indentbase indentation string _(default: none)_
firstIndentif first output line should be indented _(default: yes)_

The indent string is prepended to every line of output, with the possible exception of the first one, in case bIndentFirst is true.

The output starts on the current line, and the last line is not broken.

Definition at line 124 of file DumpSimPhotonsLite_module.cc.

127  {
128 
129  unsigned int const nPhotons = std::accumulate(
130  photons.DetectedPhotons.begin(), photons.DetectedPhotons.end(),
131  0U, [](auto sum, auto const& entry){ return sum + entry.second; }
132  );
133 
134  out << firstIndent
135  << "channel=" << photons.OpChannel << " has ";
136  if (nPhotons) {
137  out << nPhotons << " photons (format: [tick] photons):";
138  constexpr unsigned int PageSize = 5;
139  unsigned int pager = 0;
140  for (auto const& pair: photons.DetectedPhotons) {
141  if (pager-- == 0) {
142  pager = PageSize - 1;
143  out << "\n" << indent << " ";
144  }
145  out << " [" << pair.first << "] " << std::setw(6) << pair.second;
146  } // for
147  }
148  else {
149  out << "no photons";
150  }
151 
152 } // sim::DumpSimPhotonsLite::DumpPhoton()
QList< Entry > entry
Q_EXPORT QTSManip setw(int w)
Definition: qtextstream.h:331
template<typename Stream >
void sim::DumpSimPhotonsLite::DumpPhoton ( Stream &&  out,
sim::SimPhotonsLite const &  photons,
std::string  indent = "" 
) const
inline

Definition at line 99 of file DumpSimPhotonsLite_module.cc.

101  { DumpPhoton(std::forward<Stream>(out), photons, indent, indent); }
void DumpPhoton(Stream &&out, sim::SimPhotonsLite const &photons, std::string indent, std::string firstIndent) const
Dumps the content of specified SimPhotonsLite in the output stream.
DumpSimPhotonsLite& sim::DumpSimPhotonsLite::operator= ( DumpSimPhotonsLite const &  )
delete
DumpSimPhotonsLite& sim::DumpSimPhotonsLite::operator= ( DumpSimPhotonsLite &&  )
delete

Member Data Documentation

art::InputTag sim::DumpSimPhotonsLite::fInputPhotons
private

name of SimPhotons's data product

Definition at line 106 of file DumpSimPhotonsLite_module.cc.

std::string sim::DumpSimPhotonsLite::fOutputCategory
private

name of the stream for output

Definition at line 107 of file DumpSimPhotonsLite_module.cc.


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