CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PoolSource.h
Go to the documentation of this file.
1 #ifndef IOPool_Input_PoolSource_h
2 #define IOPool_Input_PoolSource_h
3 
4 /*----------------------------------------------------------------------
5 
6 PoolSource: This is an InputSource
7 
8 ----------------------------------------------------------------------*/
9 
10 #include <memory>
11 #include <vector>
12 #include <string>
13 
14 #include "Inputfwd.h"
15 
21 
22 #include "boost/scoped_ptr.hpp"
23 #include "boost/array.hpp"
24 
25 namespace edm {
26 
27  class RootInputFileSequence;
28  class FileCatalogItem;
30 
31  class PoolSource : public VectorInputSource {
32  public:
33  explicit PoolSource(ParameterSet const& pset, InputSourceDescription const& desc);
34  virtual ~PoolSource();
36 
37  static void fillDescriptions(ConfigurationDescriptions & descriptions);
38 
39  private:
40  typedef boost::shared_ptr<RootFile> RootFileSharedPtr;
42  virtual EventPrincipal* readEvent_();
43  virtual boost::shared_ptr<LuminosityBlockAuxiliary> readLuminosityBlockAuxiliary_();
44  virtual boost::shared_ptr<LuminosityBlockPrincipal> readLuminosityBlock_(boost::shared_ptr<LuminosityBlockPrincipal> lbCache);
45  virtual boost::shared_ptr<RunAuxiliary> readRunAuxiliary_();
46  virtual boost::shared_ptr<RunPrincipal> readRun_(boost::shared_ptr<RunPrincipal> rpCache);
47  virtual boost::shared_ptr<FileBlock> readFile_();
48  virtual void closeFile_();
49  virtual void endJob();
50  virtual ItemType getNextItemType();
51  virtual EventPrincipal* readIt(EventID const& id);
52  virtual void skip(int offset);
53  virtual bool goToEvent_(EventID const& eventID);
54  virtual void rewind_();
55  virtual void readMany_(int number, EventPrincipalVector& result);
56  virtual void readManyRandom_(int number, EventPrincipalVector& result, unsigned int& fileSeqNumber);
57  virtual void readManySequential_(int number, EventPrincipalVector& result, unsigned int& fileSeqNumber);
58  virtual void readManySpecified_(std::vector<EventID> const& events, EventPrincipalVector& result);
59  virtual void dropUnwantedBranches_(std::vector<std::string> const& wantedBranches);
60  virtual void preForkReleaseResources();
61  virtual void postForkReacquireResources(boost::shared_ptr<edm::multicore::MessageReceiverForSource>);
62  virtual bool randomAccess_() const;
65 
67  boost::scoped_ptr<RootInputFileSequence> primaryFileSequence_;
68  boost::scoped_ptr<RootInputFileSequence> secondaryFileSequence_;
69  boost::shared_ptr<RunPrincipal> secondaryRunPrincipal_;
70  boost::shared_ptr<LuminosityBlockPrincipal> secondaryLumiPrincipal_;
71  boost::scoped_ptr<EventPrincipal> secondaryEventPrincipal_;
72  boost::array<std::vector<BranchID>, NumBranchTypes> branchIDsToReplace_;
73 
74  //used when process has been forked
75  boost::shared_ptr<edm::multicore::MessageReceiverForSource> receiver_;
77 
78  }; // class PoolSource
80 }
81 #endif
virtual boost::shared_ptr< RunAuxiliary > readRunAuxiliary_()
Definition: PoolSource.cc:123
PoolSource(ParameterSet const &pset, InputSourceDescription const &desc)
Definition: PoolSource.cc:53
input::EntryNumber EntryNumber
Definition: PoolSource.h:41
PoolSource PoolRASource
Definition: PoolSource.h:79
boost::shared_ptr< RootFile > RootFileSharedPtr
Definition: PoolSource.h:40
virtual void readMany_(int number, EventPrincipalVector &result)
Definition: PoolSource.cc:267
virtual ProcessingController::ForwardState forwardState_() const
Definition: PoolSource.cc:314
virtual boost::shared_ptr< LuminosityBlockPrincipal > readLuminosityBlock_(boost::shared_ptr< LuminosityBlockPrincipal > lbCache)
Definition: PoolSource.cc:155
virtual void readManySpecified_(std::vector< EventID > const &events, EventPrincipalVector &result)
Definition: PoolSource.cc:285
virtual bool goToEvent_(EventID const &eventID)
Definition: PoolSource.cc:262
virtual boost::shared_ptr< RunPrincipal > readRun_(boost::shared_ptr< RunPrincipal > rpCache)
Definition: PoolSource.cc:133
virtual void readManyRandom_(int number, EventPrincipalVector &result, unsigned int &fileSeqNumber)
Definition: PoolSource.cc:273
boost::scoped_ptr< EventPrincipal > secondaryEventPrincipal_
Definition: PoolSource.h:71
virtual void dropUnwantedBranches_(std::vector< std::string > const &wantedBranches)
Definition: PoolSource.cc:291
virtual bool randomAccess_() const
Definition: PoolSource.cc:309
virtual ProcessingController::ReverseState reverseState_() const
Definition: PoolSource.cc:319
boost::shared_ptr< RunPrincipal > secondaryRunPrincipal_
Definition: PoolSource.h:69
tuple result
Definition: query.py:137
std::vector< EventPrincipalVectorElement > EventPrincipalVector
unsigned int numberOfEventsBeforeBigSkip_
Definition: PoolSource.h:76
virtual EventPrincipal * readEvent_()
Definition: PoolSource.cc:178
tuple pset
Definition: CrabTask.py:85
virtual ~PoolSource()
Definition: PoolSource.cc:101
unsigned int offset(bool)
virtual void readManySequential_(int number, EventPrincipalVector &result, unsigned int &fileSeqNumber)
Definition: PoolSource.cc:279
static void fillDescriptions(ConfigurationDescriptions &descriptions)
Definition: PoolSource.cc:297
virtual void postForkReacquireResources(boost::shared_ptr< edm::multicore::MessageReceiverForSource >)
Definition: PoolSource.cc:233
Long64_t EntryNumber
Definition: Inputfwd.h:40
virtual void rewind_()
Definition: PoolSource.cc:243
ProductRegistry & productRegistryUpdate() const
Definition: InputSource.h:299
virtual void endJob()
Definition: PoolSource.cc:104
boost::array< std::vector< BranchID >, NumBranchTypes > branchIDsToReplace_
Definition: PoolSource.h:72
boost::scoped_ptr< RootInputFileSequence > primaryFileSequence_
Definition: PoolSource.h:67
virtual void closeFile_()
Definition: PoolSource.cc:118
RootServiceChecker rootServiceChecker_
Definition: PoolSource.h:66
boost::shared_ptr< edm::multicore::MessageReceiverForSource > receiver_
Definition: PoolSource.h:75
tuple events
Definition: patZpeak.py:19
virtual ItemType getNextItemType()
Definition: PoolSource.cc:210
virtual void skip(int offset)
Definition: PoolSource.cc:257
boost::shared_ptr< LuminosityBlockPrincipal > secondaryLumiPrincipal_
Definition: PoolSource.h:70
boost::scoped_ptr< RootInputFileSequence > secondaryFileSequence_
Definition: PoolSource.h:68
virtual void preForkReleaseResources()
Definition: PoolSource.cc:228
virtual boost::shared_ptr< FileBlock > readFile_()
Definition: PoolSource.cc:110
virtual EventPrincipal * readIt(EventID const &id)
Definition: PoolSource.cc:203
virtual boost::shared_ptr< LuminosityBlockAuxiliary > readLuminosityBlockAuxiliary_()
Definition: PoolSource.cc:128