CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
edm::TestSource Class Reference
Inheritance diagram for edm::TestSource:
edm::InputSource

Public Member Functions

 TestSource (ParameterSet const &, InputSourceDescription const &)
 
- Public Member Functions inherited from edm::InputSource
std::shared_ptr< ActivityRegistryactReg () const
 Accessor for Activity Registry. More...
 
std::shared_ptr< BranchIDListHelper const > branchIDListHelper () const
 Accessors for branchIDListHelper. More...
 
std::shared_ptr< BranchIDListHelper > & branchIDListHelper ()
 
void closeFile (FileBlock *, bool cleaningUpAfterException)
 close current file More...
 
void doBeginJob ()
 Called by framework at beginning of job. More...
 
virtual void doBeginLumi (LuminosityBlockPrincipal &lbp, ProcessContext const *)
 Called by framework at beginning of lumi block. More...
 
virtual void doBeginRun (RunPrincipal &rp, ProcessContext const *)
 Called by framework at beginning of run. More...
 
void doEndJob ()
 Called by framework at end of job. More...
 
ProcessingController::ForwardState forwardState () const
 
bool goToEvent (EventID const &eventID)
 
 InputSource (ParameterSet const &, InputSourceDescription const &)
 Constructor. More...
 
 InputSource (InputSource const &)=delete
 
void issueReports (EventID const &eventID, StreamID streamID)
 issue an event report More...
 
LuminosityBlockNumber_t luminosityBlock () const
 Accessor for current luminosity block number. More...
 
std::shared_ptr< LuminosityBlockAuxiliaryluminosityBlockAuxiliary () const
 Called by the framework to merge or insert lumi in principal cache. More...
 
int maxEvents () const
 
int maxLuminosityBlocks () const
 
ModuleDescription const & moduleDescription () const
 Accessor for 'module' description. More...
 
ItemType nextItemType ()
 Advances the source to the next item. More...
 
InputSourceoperator= (InputSource const &)=delete
 
ProcessConfiguration const & processConfiguration () const
 Accessor for Process Configuration. More...
 
std::string const & processGUID () const
 Accessor for global process identifier. More...
 
ProcessHistoryRegistry const & processHistoryRegistry () const
 Accessors for process history registry. More...
 
ProcessHistoryRegistryprocessHistoryRegistry ()
 
ProcessingMode processingMode () const
 RunsLumisAndEvents (default), RunsAndLumis, or Runs. More...
 
std::shared_ptr< ProductRegistry const > productRegistry () const
 Accessors for product registry. More...
 
std::shared_ptr< ProductRegistry > & productRegistry ()
 
bool randomAccess () const
 
void readAndMergeLumi (LuminosityBlockPrincipal &lbp)
 Read next luminosity block (same as a prior lumi) More...
 
void readAndMergeRun (RunPrincipal &rp)
 Read next run (same as a prior run) More...
 
void readEvent (EventPrincipal &ep, StreamContext &)
 Read next event. More...
 
bool readEvent (EventPrincipal &ep, EventID const &, StreamContext &)
 Read a specific event. More...
 
std::unique_ptr< FileBlockreadFile ()
 Read next file. More...
 
void readLuminosityBlock (LuminosityBlockPrincipal &lumiPrincipal, HistoryAppender &historyAppender)
 Read next luminosity block (new lumi) More...
 
std::shared_ptr< LuminosityBlockAuxiliaryreadLuminosityBlockAuxiliary ()
 Read next luminosity block Auxilary. More...
 
void readRun (RunPrincipal &runPrincipal, HistoryAppender &historyAppender)
 Read next run (new run) More...
 
std::shared_ptr< RunAuxiliaryreadRunAuxiliary ()
 Read next run Auxiliary. More...
 
ProcessHistoryID const & reducedProcessHistoryID () const
 
virtual void registerProducts ()
 Register any produced products. More...
 
int remainingEvents () const
 
int remainingLuminosityBlocks () const
 
void repeat ()
 Reset the remaining number of events/lumis to the maximum number. More...
 
std::pair< SharedResourcesAcquirer *, std::recursive_mutex * > resourceSharedWithDelayedReader ()
 Returns nullptr if no resource shared between the Source and a DelayedReader. More...
 
ProcessingController::ReverseState reverseState () const
 
void rewind ()
 Begin again at the first event. More...
 
RunNumber_t run () const
 Accessor for current run number. More...
 
std::shared_ptr< RunAuxiliaryrunAuxiliary () const
 Called by the framework to merge or insert run in principal cache. More...
 
void setLuminosityBlockNumber_t (LuminosityBlockNumber_t lb)
 Set the luminosity block ID. More...
 
void setRunNumber (RunNumber_t r)
 Set the run number. More...
 
void skipEvents (int offset)
 
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper () const
 Accessors for thinnedAssociationsHelper. More...
 
std::shared_ptr< ThinnedAssociationsHelper > & thinnedAssociationsHelper ()
 
Timestamp const & timestamp () const
 Accessor for the current time, as seen by the input source. More...
 
virtual ~InputSource () noexcept(false)
 Destructor. More...
 

Static Public Member Functions

static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::InputSource
static const std::string & baseType ()
 
static void fillDescription (ParameterSetDescription &desc)
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Private Member Functions

ItemType getNextItemType () final
 
void readEvent_ (EventPrincipal &eventPrincipal) final
 
std::shared_ptr< LuminosityBlockAuxiliaryreadLuminosityBlockAuxiliary_ () final
 
std::shared_ptr< RunAuxiliaryreadRunAuxiliary_ () final
 

Static Private Member Functions

static ItemType stringToType (const std::string &)
 

Private Attributes

std::vector< std::pair< ItemType, EventID > >::const_iterator m_nextTransition
 
std::vector< std::pair< ItemType, EventID > > m_transitions
 

Additional Inherited Members

- Public Types inherited from edm::InputSource
enum  ItemType {
  IsInvalid, IsStop, IsFile, IsRun,
  IsLumi, IsEvent, IsRepeat, IsSynchronize
}
 
enum  ProcessingMode { Runs, RunsAndLumis, RunsLumisAndEvents }
 
- Public Attributes inherited from edm::InputSource
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> postEventReadFromSourceSignal_
 
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> preEventReadFromSourceSignal_
 
- Protected Member Functions inherited from edm::InputSource
void decreaseRemainingEventsBy (int iSkipped)
 
bool eventCached () const
 
bool newLumi () const
 
bool newRun () const
 
ProcessHistoryRegistryprocessHistoryRegistryForUpdate ()
 
ProductRegistryproductRegistryUpdate ()
 
void reset () const
 
void resetEventCached ()
 
void resetLuminosityBlockAuxiliary (bool isNewLumi=true) const
 
void resetNewLumi ()
 
void resetNewRun ()
 
void resetRunAuxiliary (bool isNewRun=true) const
 
void setEventCached ()
 Called by the framework to merge or ached() const {return eventCached_;}. More...
 
void setLuminosityBlockAuxiliary (LuminosityBlockAuxiliary *lbp)
 
void setNewLumi ()
 
void setNewRun ()
 
void setRunAuxiliary (RunAuxiliary *rp)
 
void setTimestamp (Timestamp const &theTime)
 To set the current time, as seen by the input source. More...
 
virtual void skip (int offset)
 
ItemType state () const
 

Detailed Description

Definition at line 12 of file TestSource.cc.

Constructor & Destructor Documentation

edm::TestSource::TestSource ( ParameterSet const &  pset,
InputSourceDescription const &  desc 
)
explicit

Definition at line 29 of file TestSource.cc.

References edm::ParameterSet::getUntrackedParameter(), m_nextTransition, m_transitions, AlCaHLTBitMon_ParallelJobs::p, AlCaHLTBitMon_QueryRunRegistry::string, and stringToType().

29  : InputSource(pset, desc) {
30  for (auto const& p : pset.getUntrackedParameter<std::vector<edm::ParameterSet>>("transitions")) {
31  m_transitions.emplace_back(stringToType(p.getUntrackedParameter<std::string>("type")),
32  p.getUntrackedParameter<EventID>("id"));
33  }
35  }
static ItemType stringToType(const std::string &)
Definition: TestSource.cc:37
std::vector< std::pair< ItemType, EventID > > m_transitions
Definition: TestSource.cc:23
std::vector< std::pair< ItemType, EventID > >::const_iterator m_nextTransition
Definition: TestSource.cc:24
InputSource(ParameterSet const &, InputSourceDescription const &)
Constructor.
Definition: InputSource.cc:46

Member Function Documentation

void edm::TestSource::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 91 of file TestSource.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::addUntracked(), edm::ParameterSetDescription::addVPSetUntracked(), DEFINE_FWK_INPUT_SOURCE, edm::ProducerSourceBase::fillDescription(), edm::ParameterSetDescription::setComment(), and AlCaHLTBitMon_QueryRunRegistry::string.

91  {
93  desc.setComment("Generates the specified sequence of transitions.");
95 
97  trans.addUntracked<std::string>("type");
98  trans.addUntracked<edm::EventID>("id");
99  desc.addVPSetUntracked("transitions", trans, {{}});
100  descriptions.add("source", desc);
101  }
static void fillDescription(ParameterSetDescription &desc)
TestSource::ItemType edm::TestSource::getNextItemType ( )
finalprivatevirtual

Implements edm::InputSource.

Definition at line 62 of file TestSource.cc.

References edm::InputSource::IsStop, m_nextTransition, and m_transitions.

62  {
63  if (m_nextTransition == m_transitions.end()) {
64  return IsStop;
65  }
66  auto trans = m_nextTransition->first;
68  return trans;
69  }
std::vector< std::pair< ItemType, EventID > > m_transitions
Definition: TestSource.cc:23
std::vector< std::pair< ItemType, EventID > >::const_iterator m_nextTransition
Definition: TestSource.cc:24
void edm::TestSource::readEvent_ ( EventPrincipal eventPrincipal)
finalprivatevirtual

Implements edm::InputSource.

Definition at line 84 of file TestSource.cc.

References printConversionInfo::aux, edm::EventPrincipal::fillEventPrincipal(), m_nextTransition, edm::InputSource::processGUID(), and edm::InputSource::processHistoryRegistry().

84  {
85  auto it = m_nextTransition;
86  --it;
87  EventAuxiliary aux(it->second, processGUID(), Timestamp(0), false);
88  eventPrincipal.fillEventPrincipal(aux, processHistoryRegistry());
89  }
ProcessHistoryRegistry const & processHistoryRegistry() const
Accessors for process history registry.
Definition: InputSource.h:155
std::string const & processGUID() const
Accessor for global process identifier.
Definition: InputSource.h:204
std::vector< std::pair< ItemType, EventID > >::const_iterator m_nextTransition
Definition: TestSource.cc:24
std::shared_ptr< LuminosityBlockAuxiliary > edm::TestSource::readLuminosityBlockAuxiliary_ ( )
finalprivatevirtual

Implements edm::InputSource.

Definition at line 77 of file TestSource.cc.

References m_nextTransition.

77  {
78  auto it = m_nextTransition;
79  --it;
80  return std::make_shared<LuminosityBlockAuxiliary>(
81  it->second.run(), it->second.luminosityBlock(), Timestamp(0), Timestamp(10));
82  }
std::vector< std::pair< ItemType, EventID > >::const_iterator m_nextTransition
Definition: TestSource.cc:24
std::shared_ptr< RunAuxiliary > edm::TestSource::readRunAuxiliary_ ( )
finalprivatevirtual

Implements edm::InputSource.

Definition at line 71 of file TestSource.cc.

References m_nextTransition.

71  {
72  auto it = m_nextTransition;
73  --it;
74  return std::make_shared<RunAuxiliary>(it->second.run(), Timestamp(0), Timestamp(10));
75  }
std::vector< std::pair< ItemType, EventID > >::const_iterator m_nextTransition
Definition: TestSource.cc:24
TestSource::ItemType edm::TestSource::stringToType ( const std::string &  iTrans)
staticprivate

Definition at line 37 of file TestSource.cc.

References edm::errors::Configuration, Exception, edm::InputSource::IsEvent, edm::InputSource::IsFile, edm::InputSource::IsInvalid, edm::InputSource::IsLumi, edm::InputSource::IsRun, edm::InputSource::IsStop, and edm::InputSource::IsSynchronize.

Referenced by TestSource().

37  {
38  if (iTrans == "IsStop") {
39  return IsStop;
40  }
41  if (iTrans == "IsFile") {
42  return IsFile;
43  }
44  if (iTrans == "IsRun") {
45  return IsRun;
46  }
47  if (iTrans == "IsLumi") {
48  return IsLumi;
49  }
50  if (iTrans == "IsEvent") {
51  return IsEvent;
52  }
53  if (iTrans == "IsSynchronize") {
54  return IsSynchronize;
55  }
56 
57  throw edm::Exception(errors::Configuration) << "Unknown transition type \'" << iTrans << "\'";
58 
59  return IsInvalid;
60  }

Member Data Documentation

std::vector<std::pair<ItemType, EventID> >::const_iterator edm::TestSource::m_nextTransition
private
std::vector<std::pair<ItemType, EventID> > edm::TestSource::m_transitions
private

Definition at line 23 of file TestSource.cc.

Referenced by getNextItemType(), and TestSource().