All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Attributes | List of all members
sim::DumpSimPhotonsLite Class Reference
Inheritance diagram for sim::DumpSimPhotonsLite:

Public Types

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

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
 

Private Attributes

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

Detailed Description

Definition at line 59 of file DumpSimPhotonsLite_module.cc.

Member Typedef Documentation

using sim::DumpSimPhotonsLite::Parameters = art::EDAnalyzer::Table<Config>

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 {}
art::InputTag fInputPhotons
name of SimPhotons&#39;s data product
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)
override

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 
169  mf::LogVerbatim log(fOutputCategory);
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()
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()
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: