LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
art::InputSource Class Referenceabstract

#include "InputSource.h"

Inheritance diagram for art::InputSource:
art::EmptyEvent art::Source< T >

Public Types

enum  ProcessingMode { Runs, RunsAndSubRuns, RunsSubRunsAndEvents }
 

Public Member Functions

virtual ~InputSource ()
 
 InputSource (ModuleDescription const &)
 
 InputSource (InputSource const &)=delete
 
 InputSource (InputSource &&)=delete
 
InputSourceoperator= (InputSource const &)=delete
 
InputSourceoperator= (InputSource &&)=delete
 
virtual input::ItemType nextItemType ()=0
 
virtual std::unique_ptr< FileBlockreadFile ()=0
 
virtual void closeFile ()=0
 
virtual std::unique_ptr< RunPrincipalreadRun ()=0
 
virtual std::unique_ptr< SubRunPrincipalreadSubRun (cet::exempt_ptr< RunPrincipal const > rp)=0
 
virtual std::unique_ptr< EventPrincipalreadEvent (cet::exempt_ptr< SubRunPrincipal const > srp)=0
 
virtual std::unique_ptr< RangeSetHandlerrunRangeSetHandler ()=0
 
virtual std::unique_ptr< RangeSetHandlersubRunRangeSetHandler ()=0
 
virtual void doBeginJob ()
 
virtual void doEndJob ()
 
virtual void skipEvents (int n)
 
ModuleDescription const & moduleDescription () const
 
ProcessConfiguration const & processConfiguration () const
 

Static Public Member Functions

static ProcessingMode mode (std::string const &modeString)
 

Private Attributes

ModuleDescription moduleDescription_
 

Detailed Description

Definition at line 59 of file InputSource.h.

Member Enumeration Documentation

Enumerator
Runs 
RunsAndSubRuns 
RunsSubRunsAndEvents 

Definition at line 61 of file InputSource.h.

Constructor & Destructor Documentation

art::InputSource::~InputSource ( )
virtualdefault
art::InputSource::InputSource ( ModuleDescription const &  md)
explicit

Definition at line 27 of file InputSource.cc.

27  : moduleDescription_{md}
28  {}
ModuleDescription moduleDescription_
Definition: InputSource.h:106
art::InputSource::InputSource ( InputSource const &  )
delete
art::InputSource::InputSource ( InputSource &&  )
delete

Member Function Documentation

virtual void art::InputSource::closeFile ( )
pure virtual

Implemented in art::Source< T >, and art::EmptyEvent.

void art::InputSource::doBeginJob ( )
virtual

Reimplemented in art::EmptyEvent.

Definition at line 54 of file InputSource.cc.

55  {}
void art::InputSource::doEndJob ( )
virtual

Reimplemented in art::EmptyEvent.

Definition at line 58 of file InputSource.cc.

59  {}
InputSource::ProcessingMode art::InputSource::mode ( std::string const &  modeString)
static

Definition at line 9 of file InputSource.cc.

References art::errors::Configuration, Runs, RunsAndSubRuns, and RunsSubRunsAndEvents.

Referenced by art::ProcessingLimits::ProcessingLimits().

10  {
11  if (modeString == "Runs") {
12  return Runs;
13  }
14  if (modeString == "RunsAndSubRuns") {
15  return RunsAndSubRuns;
16  }
17  if (modeString == "RunsSubRunsAndEvents") {
18  return RunsSubRunsAndEvents;
19  }
21  << "The 'processingMode' parameter for sources has an illegal value '"
22  << modeString << "'\n"
23  << "Legal values are 'Runs', 'RunsAndSubRuns', or "
24  "'RunsSubRunsAndEvents'.\n";
25  }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
ModuleDescription const & art::InputSource::moduleDescription ( ) const

Definition at line 31 of file InputSource.cc.

References moduleDescription_.

Referenced by art::EmptyEvent::readRun(), and art::EmptyEvent::readSubRun().

32  {
33  return moduleDescription_;
34  }
ModuleDescription moduleDescription_
Definition: InputSource.h:106
virtual input::ItemType art::InputSource::nextItemType ( )
pure virtual

Implemented in art::Source< T >, and art::EmptyEvent.

InputSource& art::InputSource::operator= ( InputSource const &  )
delete
InputSource& art::InputSource::operator= ( InputSource &&  )
delete
ProcessConfiguration const & art::InputSource::processConfiguration ( ) const

Definition at line 37 of file InputSource.cc.

References moduleDescription_, and art::ModuleDescription::processConfiguration().

Referenced by art::EmptyEvent::readEvent(), art::EmptyEvent::readRun(), and art::EmptyEvent::readSubRun().

38  {
40  }
ModuleDescription moduleDescription_
Definition: InputSource.h:106
ProcessConfiguration const & processConfiguration() const
virtual std::unique_ptr<EventPrincipal> art::InputSource::readEvent ( cet::exempt_ptr< SubRunPrincipal const >  srp)
pure virtual

Implemented in art::Source< T >, and art::EmptyEvent.

virtual std::unique_ptr<FileBlock> art::InputSource::readFile ( )
pure virtual

Implemented in art::Source< T >, and art::EmptyEvent.

virtual std::unique_ptr<RunPrincipal> art::InputSource::readRun ( )
pure virtual

Implemented in art::Source< T >, and art::EmptyEvent.

virtual std::unique_ptr<SubRunPrincipal> art::InputSource::readSubRun ( cet::exempt_ptr< RunPrincipal const >  rp)
pure virtual

Implemented in art::Source< T >, and art::EmptyEvent.

virtual std::unique_ptr<RangeSetHandler> art::InputSource::runRangeSetHandler ( )
pure virtual

Implemented in art::Source< T >, and art::EmptyEvent.

void art::InputSource::skipEvents ( int  n)
virtual

Reimplemented in art::EmptyEvent.

Definition at line 43 of file InputSource.cc.

References art::errors::Configuration.

44  {
46  << "The application has tried to peform random access on an input "
47  "source\n"
48  << "that does not support random access. Please reconfigure the program\n"
49  << "to use an input source that supports random access (e.g. "
50  "RootInput)\n";
51  }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
virtual std::unique_ptr<RangeSetHandler> art::InputSource::subRunRangeSetHandler ( )
pure virtual

Implemented in art::Source< T >, and art::EmptyEvent.

Member Data Documentation

ModuleDescription art::InputSource::moduleDescription_
private

Definition at line 106 of file InputSource.h.

Referenced by moduleDescription(), and processConfiguration().


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