CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DaqSource.h
Go to the documentation of this file.
1 #ifndef DaqSource_DaqSource_H
2 #define DaqSource_DaqSource_H
3 
13 #include <memory>
14 #include "boost/shared_ptr.hpp"
18 
19 #include "xdata/UnsignedInteger32.h"
20 #include "xdata/Boolean.h"
21 
22 #include <pthread.h>
23 
24 class DaqBaseReader;
25 
26 namespace edm {
27  class ParameterSet;
28  class Timestamp;
29  class InputSourceDescription;
30  class EventPrincipal;
31  class LuminosityBlockAuxiliary;
32 
33 
34  class DaqSource : public InputSource, private evf::ModuleWeb {
35 
36  public:
37  explicit DaqSource(const ParameterSet& pset,
38  const InputSourceDescription& desc);
39 
40  virtual ~DaqSource();
41 
42  private:
43 
45  virtual EventPrincipal* readEvent_();
46  virtual boost::shared_ptr<LuminosityBlockAuxiliary> readLuminosityBlockAuxiliary_();
47  virtual boost::shared_ptr<RunAuxiliary> readRunAuxiliary_();
48  virtual EventPrincipal* readIt(EventID const& eventID);
49  virtual void skip(int offset);
50  virtual void setLumi(LuminosityBlockNumber_t lb);
51  virtual void setRun(RunNumber_t r);
52  virtual ItemType getNextItemType();
53 
54 
55  virtual void publish(xdata::InfoSpace *);
56  virtual void publishToXmas(xdata::InfoSpace *);
57  virtual void openBackDoor(unsigned int);
58  virtual void closeBackDoor();
59  virtual void signalWaitingThreadAndBlock();
60 
62  unsigned int lumiSegmentSizeInEvents_; //temporary kludge, LS# will come from L1 Global record
64  unsigned int eventCounter_;
66  bool fakeLSid_;
67 
71  bool newRun_;
72  bool newLumi_;
75 
76  pthread_mutex_t mutex_;
77  pthread_mutex_t signal_lock_;
78  pthread_cond_t cond_;
79  xdata::UnsignedInteger32 *lumiSectionIndex_;
80  xdata::UnsignedInteger32 *prescaleSetIndex_;
81  xdata::UnsignedInteger32 *lastLumiPrescaleIndex_;
82  xdata::UnsignedInteger32 *lastLumiUsingEol_;
83  xdata::Boolean *lsTimedOut_;
84  xdata::Boolean *lsToBeRecovered_;
85  xdata::InfoSpace *is_;
86  xdata::InfoSpace *mis_;
87  int count;
88  unsigned int thisEventLSid;
90  };
91 
92 }
93 
94 #endif
DaqBaseReader * reader_
Definition: DaqSource.h:61
xdata::InfoSpace * mis_
Definition: DaqSource.h:86
virtual void openBackDoor(unsigned int)
Definition: DaqSource.cc:454
xdata::Boolean * lsTimedOut_
Definition: DaqSource.h:83
#define Input(cl)
Definition: vmac.h:189
LuminosityBlockNumber_t luminosityBlockNumber_
Definition: DaqSource.h:69
virtual void closeBackDoor()
Definition: DaqSource.cc:475
virtual ItemType getNextItemType()
Definition: DaqSource.cc:119
xdata::UnsignedInteger32 * lumiSectionIndex_
Definition: DaqSource.h:79
virtual boost::shared_ptr< LuminosityBlockAuxiliary > readLuminosityBlockAuxiliary_()
Definition: DaqSource.cc:392
unsigned int eventCounter_
Definition: DaqSource.h:64
xdata::Boolean * lsToBeRecovered_
Definition: DaqSource.h:84
virtual void publish(xdata::InfoSpace *)
Definition: DaqSource.cc:439
virtual void publishToXmas(xdata::InfoSpace *)
Definition: DaqSource.cc:449
xdata::UnsignedInteger32 * lastLumiUsingEol_
Definition: DaqSource.h:82
RunNumber_t runNumber_
Definition: DaqSource.h:68
pthread_cond_t cond_
Definition: DaqSource.h:78
unsigned int LuminosityBlockNumber_t
Definition: EventID.h:31
pthread_mutex_t signal_lock_
Definition: DaqSource.h:77
bool fakeLSid_
Definition: DaqSource.h:66
xdata::UnsignedInteger32 * prescaleSetIndex_
Definition: DaqSource.h:80
virtual void signalWaitingThreadAndBlock()
Definition: DaqSource.cc:484
bool keepUsingPsidFromTrigger_
Definition: DaqSource.h:65
unsigned int offset(bool)
bool goToStopping
Definition: DaqSource.h:89
DaqSource(const ParameterSet &pset, const InputSourceDescription &desc)
Definition: DaqSource.cc:57
tuple out
Definition: dbtoconf.py:99
virtual void skip(int offset)
Definition: DaqSource.cc:433
virtual void setRun(RunNumber_t r)
Definition: DaqSource.cc:373
void defaultWebPage(xgi::Input *in, xgi::Output *out)
Definition: DaqSource.cc:497
unsigned int lumiSegmentSizeInEvents_
Definition: DaqSource.h:62
virtual EventPrincipal * readIt(EventID const &eventID)
Definition: DaqSource.cc:426
bool useEventCounter_
Definition: DaqSource.h:63
#define Output(cl)
Definition: vmac.h:193
virtual ~DaqSource()
Definition: DaqSource.cc:108
pthread_mutex_t mutex_
Definition: DaqSource.h:76
bool eventCached_
Definition: DaqSource.h:73
unsigned int thisEventLSid
Definition: DaqSource.h:88
unsigned int RunNumber_t
Definition: EventRange.h:32
bool noMoreEvents_
Definition: DaqSource.h:70
virtual void setLumi(LuminosityBlockNumber_t lb)
Definition: DaqSource.cc:419
virtual boost::shared_ptr< RunAuxiliary > readRunAuxiliary_()
Definition: DaqSource.cc:384
xdata::InfoSpace * is_
Definition: DaqSource.h:85
xdata::UnsignedInteger32 * lastLumiPrescaleIndex_
Definition: DaqSource.h:81
virtual EventPrincipal * readEvent_()
Definition: DaqSource.cc:404
bool alignLsToLast_
Definition: DaqSource.h:74