Public Types | Public Member Functions | Private Attributes | List of all members
sim::DumpSimPhotons Class Reference
Inheritance diagram for sim::DumpSimPhotons:
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

 DumpSimPhotons (Parameters const &config)
 Configuration-checking constructor. More...
 
 DumpSimPhotons (DumpSimPhotons const &)=delete
 
 DumpSimPhotons (DumpSimPhotons &&)=delete
 
DumpSimPhotonsoperator= (DumpSimPhotons const &)=delete
 
DumpSimPhotonsoperator= (DumpSimPhotons &&)=delete
 
void analyze (art::Event const &event) override
 
template<typename Stream >
void DumpElement (Stream &&out, sim::SimPhotons const &simphotons, std::string indent="", bool bIndentFirst=true) const
 Dumps the content of the specified SimPhotons in the output stream. More...
 
template<typename Stream >
void DumpOnePhoton (Stream &&out, sim::OnePhoton const &photon) const
 Dumps a sim::OnePhoton on a single line. More...
 
- 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 115 of file DumpSimPhotons_module.cc.

Member Typedef Documentation

Definition at line 118 of file DumpSimPhotons_module.cc.

Constructor & Destructor Documentation

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

Configuration-checking constructor.

Definition at line 170 of file DumpSimPhotons_module.cc.

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

Member Function Documentation

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

Implements art::EDAnalyzer.

Definition at line 219 of file DumpSimPhotons_module.cc.

219  {
220 
221  // get the particles from the event
222  auto const& SimPhotons
223  = *(event.getValidHandle<std::vector<sim::SimPhotons>>(fInputPhotons));
224 
225  mf::LogVerbatim(fOutputCategory) << "Event " << event.id()
226  << " : data product '" << fInputPhotons.encode() << "' contains "
227  << SimPhotons.size() << " SimPhotons";
228 
229  unsigned int iPhoton = 0;
230  for (sim::SimPhotons const& photons: SimPhotons) {
231 
233  // a bit of a header
234  log << "[#" << (iPhoton++) << "] ";
235  DumpElement(log, photons, " ", false);
236 
237  } // for
238  mf::LogVerbatim(fOutputCategory) << "\n"; // just an empty line
239 
240 } // sim::DumpSimPhotons::analyze()
MaybeLogger_< ELseverityLevel::ELsev_info, true > LogVerbatim
void DumpElement(Stream &&out, sim::SimPhotons const &simphotons, std::string indent="", bool bIndentFirst=true) const
Dumps the content of the specified SimPhotons in the output stream.
art::InputTag fInputPhotons
name of SimPhotons&#39;s data product
std::string encode() const
Definition: InputTag.cc:97
std::string fOutputCategory
name of the stream for output
Collection of photons which recorded on one channel.
Definition: SimPhotons.h:136
template<typename Stream >
void sim::DumpSimPhotons::DumpElement ( Stream &&  out,
sim::SimPhotons const &  simphotons,
std::string  indent = "",
bool  bIndentFirst = true 
) const

Dumps the content of the specified SimPhotons in the output stream.

Template Parameters
Streamthe type of output stream
Parameters
outthe output stream
simphotonsthe SimPhotons to be dumped
indentbase indentation string (default: none)
bIndentFirstif 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 192 of file DumpSimPhotons_module.cc.

195  {
196  if (bIndentFirst) out << indent;
197  out << "channel=" << simphotons.OpChannel() << " has ";
198  if (simphotons.empty()) {
199  out << simphotons.size() << " no photons";
200  }
201  else {
202  out << simphotons.size() << " photons:";
203 
204  auto sortedPhotonPtrs = util::makePointerVector(simphotons);
205  std::sort
206  (sortedPhotonPtrs.begin(), sortedPhotonPtrs.end(), OnePhotonSorter());
207 
208  for (auto const* onephoton: sortedPhotonPtrs) {
209  out << "\n" << indent << " ";
210  DumpOnePhoton(out, *onephoton);
211  } // for
212 
213  }
214 
215 } // sim::DumpSimPhotons::DumpSimPhotons()
auto makePointerVector(Coll &coll)
Creates a STL vector with pointers to data from another collection.
void DumpOnePhoton(Stream &&out, sim::OnePhoton const &photon) const
Dumps a sim::OnePhoton on a single line.
template<typename Stream >
void sim::DumpSimPhotons::DumpOnePhoton ( Stream &&  out,
sim::OnePhoton const &  photon 
) const

Dumps a sim::OnePhoton on a single line.

Definition at line 179 of file DumpSimPhotons_module.cc.

180 {
181  out << "E=" << onephoton.Energy << " t=" << onephoton.Time
182  << " from " << onephoton.InitialPosition << " cm"
183  << " to " << onephoton.FinalLocalPosition << " cm"
184  ;
185  if (onephoton.SetInSD) out << " [in SD]"; // in sensitive detector?
186  out << " from track ID=" << onephoton.MotherTrackID;
187 } // sim::DumpSimPhotons::DumpOnePhoton()
DumpSimPhotons& sim::DumpSimPhotons::operator= ( DumpSimPhotons const &  )
delete
DumpSimPhotons& sim::DumpSimPhotons::operator= ( DumpSimPhotons &&  )
delete

Member Data Documentation

art::InputTag sim::DumpSimPhotons::fInputPhotons
private

name of SimPhotons's data product

Definition at line 160 of file DumpSimPhotons_module.cc.

std::string sim::DumpSimPhotons::fOutputCategory
private

name of the stream for output

Definition at line 161 of file DumpSimPhotons_module.cc.


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