CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes
EventWithHistory Class Reference

#include <EventWithHistory.h>

Inheritance diagram for EventWithHistory:
TinyEvent

Public Member Functions

long long absoluteBX (const unsigned int ev1) const
 
long long absoluteBX () const
 
long long absoluteBXinCycle (const unsigned int ev1, const int bx0) const
 
long long absoluteBXinCycle (const int bx0) const
 
int add (const EventWithHistory &he, const int idepth)
 
int add (const TinyEvent &he, const int idepth)
 
const int bx () const
 
long long deltaBX (const unsigned int ev2, const unsigned int ev1) const
 
long long deltaBX (const unsigned int ev1) const
 
long long deltaBX () const
 
long long deltaBX (const TinyEvent &se) const
 
long long deltaBXinCycle (const unsigned int ev2, const unsigned int ev1, const int bx0) const
 
long long deltaBXinCycle (const unsigned int ev1, const int bx0) const
 
long long deltaBXinCycle (const int bx0) const
 
long long deltaBXinCycle (const TinyEvent &se, const int bx0) const
 
unsigned int depth () const
 
const edm::EventNumber_t event () const
 
 EventWithHistory ()
 
 EventWithHistory (const TinyEvent &se)
 
 EventWithHistory (const edm::EventNumber_t event, const int orbit, const int bx)
 
 EventWithHistory (const edm::EventNumber_t event, const unsigned int orbit, const int bx)
 
 EventWithHistory (const edm::Event &event)
 
 EventWithHistory (const std::vector< edm::EventAuxiliary > &he)
 
 EventWithHistory (const edm::Event &event, const L1AcceptBunchCrossingCollection &l11bcc, const long long orbitoffset=0, const int bxoffset=0)
 
 EventWithHistory (const edm::Event &event, const TCDSRecord &tcdsRecord, const long long orbitoffset=0, const int bxoffset=0)
 
 EventWithHistory (const EventWithHistory &he)
 
const TinyEventget (const unsigned int ev) const
 
bool isFutureHistory () const
 
EventWithHistoryoperator= (const EventWithHistory &he)
 
int operator== (const EventWithHistory &other) const
 
const unsigned int orbit () const
 
- Public Member Functions inherited from TinyEvent
long long absoluteBX () const
 
long long absoluteBXinCycle (const int bx0) const
 
long long deltaBX (const TinyEvent &se) const
 
long long deltaBXinCycle (const TinyEvent &se, const int bx0) const
 
int isNextOf (const TinyEvent &se) const
 
int operator< (const TinyEvent &other) const
 
TinyEventoperator= (const TinyEvent &se)
 
int operator== (const TinyEvent &other) const
 
 TinyEvent ()
 
 TinyEvent (const edm::EventNumber_t event, const int orbit, const int bx)
 
 TinyEvent (const edm::EventNumber_t event, const unsigned int orbit, const int bx)
 
 TinyEvent (const TinyEvent &se)
 
 TinyEvent (const edm::Event &event)
 
 TinyEvent (const edm::EventAuxiliary &eaux)
 

Private Attributes

std::vector< TinyEvent_prevse
 

Additional Inherited Members

- Public Attributes inherited from TinyEvent
unsigned int _bx
 
edm::EventNumber_t _event
 
unsigned int _orbit
 

Detailed Description

Definition at line 17 of file EventWithHistory.h.

Constructor & Destructor Documentation

EventWithHistory::EventWithHistory ( )

Definition at line 9 of file EventWithHistory.cc.

9 : TinyEvent(), _prevse() {}
std::vector< TinyEvent > _prevse
TinyEvent()
Definition: TinyEvent.h:14
EventWithHistory::EventWithHistory ( const TinyEvent se)
explicit

Definition at line 11 of file EventWithHistory.cc.

11 : TinyEvent(se), _prevse() {}
std::vector< TinyEvent > _prevse
TinyEvent()
Definition: TinyEvent.h:14
EventWithHistory::EventWithHistory ( const edm::EventNumber_t  event,
const int  orbit,
const int  bx 
)
explicit

Definition at line 13 of file EventWithHistory.cc.

14  : TinyEvent(event, orbit, bx), _prevse() {}
const unsigned int orbit() const
std::vector< TinyEvent > _prevse
const int bx() const
const edm::EventNumber_t event() const
TinyEvent()
Definition: TinyEvent.h:14
EventWithHistory::EventWithHistory ( const edm::EventNumber_t  event,
const unsigned int  orbit,
const int  bx 
)
explicit

Definition at line 16 of file EventWithHistory.cc.

17  : TinyEvent(event, orbit, bx), _prevse() {}
const unsigned int orbit() const
std::vector< TinyEvent > _prevse
const int bx() const
const edm::EventNumber_t event() const
TinyEvent()
Definition: TinyEvent.h:14
EventWithHistory::EventWithHistory ( const edm::Event event)
explicit

Definition at line 19 of file EventWithHistory.cc.

19 : TinyEvent(event), _prevse() {}
std::vector< TinyEvent > _prevse
TinyEvent()
Definition: TinyEvent.h:14
EventWithHistory::EventWithHistory ( const std::vector< edm::EventAuxiliary > &  he)

Definition at line 21 of file EventWithHistory.cc.

References _prevse.

22  : TinyEvent((!veaux.empty()) ? veaux[veaux.size() - 1] : TinyEvent()), _prevse() {
23  for (std::vector<edm::EventAuxiliary>::const_reverse_iterator eaux = veaux.rbegin(); eaux != veaux.rend(); eaux++) {
24  if (eaux != veaux.rbegin()) {
25  _prevse.push_back(*eaux);
26  }
27  }
28 }
std::vector< TinyEvent > _prevse
TinyEvent()
Definition: TinyEvent.h:14
EventWithHistory::EventWithHistory ( const edm::Event event,
const L1AcceptBunchCrossingCollection l11bcc,
const long long  orbitoffset = 0,
const int  bxoffset = 0 
)

Definition at line 30 of file EventWithHistory.cc.

References _prevse, counter, deltaBX(), edm::EventID::event(), edm::EventBase::id(), and TinyEvent::operator=().

34  : TinyEvent(), _prevse() {
35  std::map<int, TinyEvent> tmpmap;
36 
37  for (L1AcceptBunchCrossingCollection::const_iterator l1abc = l1abcc.begin(); l1abc != l1abcc.end(); ++l1abc) {
38  if (event.id().event() > (edm::EventNumber_t)(-1 * l1abc->l1AcceptOffset())) {
39  edm::EventNumber_t evnumb = event.id().event() + l1abc->l1AcceptOffset();
40  if (orbitoffset < (long long)l1abc->orbitNumber()) {
41  unsigned int neworbit = l1abc->orbitNumber() - orbitoffset;
42  int newbx = l1abc->bunchCrossing() - bxoffset;
43 
44  /*
45  the lines below assumes that the BX number is between 0 and 3563. If this is not the case it will jump to 0 and to the next orbit in case of
46  evets with BX=3564
47  */
48  while (newbx > 3563) {
49  ++neworbit;
50  newbx -= 3564;
51  }
52  while (newbx < 0) {
53  --neworbit;
54  newbx += 3564;
55  }
56 
57  if (l1abc->eventType() != 0) {
58  TinyEvent tmpse(evnumb, neworbit, newbx);
59  tmpmap[l1abc->l1AcceptOffset()] = tmpse;
60  } else {
61  edm::LogWarning("L1AcceptBunchCrossingNoType") << "L1AcceptBunchCrossing with no type found: ";
62  for (L1AcceptBunchCrossingCollection::const_iterator debu = l1abcc.begin(); debu != l1abcc.end(); ++debu) {
63  edm::LogPrint("L1AcceptBunchCrossingNoType") << *debu;
64  }
65  }
66  } else {
67  edm::LogError("L1AcceptBunchCrossingOffsetTooLarge")
68  << " Too large orbit offset " << orbitoffset << " " << l1abc->orbitNumber();
69  }
70  } else {
71  edm::LogInfo("L1AcceptBunchCrossingNegativeEvent") << "L1AcceptBunchCrossing with negative event: ";
72  for (L1AcceptBunchCrossingCollection::const_iterator debu = l1abcc.begin(); debu != l1abcc.end(); ++debu) {
73  edm::LogVerbatim("L1AcceptBunchCrossingNegativeEvent") << *debu;
74  }
75  }
76  }
77  // look for the event itself
78  if (tmpmap.find(0) != tmpmap.end()) {
79  TinyEvent::operator=(tmpmap[0]);
80 
81  // loop on the rest of the map and stop when it is missing
82  // check that the events are in the right order and break if not
83 
84  int counter = -1;
85  while (tmpmap.find(counter) != tmpmap.end()) {
86  if (tmpmap[counter + 1].deltaBX(tmpmap[counter]) > 0) {
87  _prevse.push_back(tmpmap[counter]);
88  --counter;
89  } else {
90  edm::LogWarning("L1AcceptBunchCrossingNotInOrder")
91  << "L1AcceptBunchCrossing not in order: orbit " << event.orbitNumber() << " BX " << event.bunchCrossing()
92  << " orbit offset " << orbitoffset << " bx offset " << bxoffset << " :";
93  for (L1AcceptBunchCrossingCollection::const_iterator debu = l1abcc.begin(); debu != l1abcc.end(); ++debu) {
94  edm::LogPrint("L1AcceptBunchCrossingNotInOrder") << *debu;
95  }
96  break;
97  }
98  }
99  } else {
100  TinyEvent::operator=(event);
101  edm::LogWarning("L1AcceptBunchCrossingNoCollection") << " L1AcceptBunchCrossing with offset=0 not found "
102  << " likely L1ABCCollection is empty ";
103  }
104 }
Log< level::Info, true > LogVerbatim
EventNumber_t event() const
Definition: EventID.h:40
long long deltaBX() const
unsigned long long EventNumber_t
Log< level::Error, false > LogError
std::vector< TinyEvent > _prevse
Log< level::Warning, true > LogPrint
TinyEvent & operator=(const TinyEvent &se)
Definition: TinyEvent.h:27
Log< level::Info, false > LogInfo
edm::EventID id() const
Definition: EventBase.h:59
static std::atomic< unsigned int > counter
Log< level::Warning, false > LogWarning
TinyEvent()
Definition: TinyEvent.h:14
EventWithHistory::EventWithHistory ( const edm::Event event,
const TCDSRecord tcdsRecord,
const long long  orbitoffset = 0,
const int  bxoffset = 0 
)

Definition at line 106 of file EventWithHistory.cc.

References _prevse, counter, deltaBX(), edm::EventID::event(), TCDSRecord::getBXID(), TCDSRecord::getEventType(), TCDSRecord::getFullL1aHistory(), L1aInfo::getOrbitNr(), TCDSRecord::getOrbitNr(), edm::EventBase::id(), and TinyEvent::operator=().

110  : TinyEvent(), _prevse() {
111  std::map<int, TinyEvent> tmpmap;
112 
113  // loop on the history
114  auto l1aHistory = tcdsRecord.getFullL1aHistory();
115  const L1aInfo infoForIndex0 = L1aInfo(0, tcdsRecord.getOrbitNr(), tcdsRecord.getBXID(), tcdsRecord.getEventType());
116  l1aHistory.push_back(infoForIndex0);
117 
118  for (auto l1a : l1aHistory) {
119  int l1AcceptOffset(l1a.getIndex());
120 
121  if (event.id().event() > (edm::EventNumber_t)(-1 * l1AcceptOffset)) {
122  edm::EventNumber_t evnumb = event.id().event() + l1AcceptOffset;
123  if (orbitoffset < (long long)l1a.getOrbitNr()) {
124  unsigned int neworbit = l1a.getOrbitNr() - orbitoffset;
125  int newbx = l1a.getBXID() - bxoffset;
126 
127  /*
128  the lines below assumes that the BX number is between 0 and 3563. If this is not the case it will jump to 0 and to the next orbit in case of
129  evets with BX=3564
130  */
131 
132  while (newbx > 3563) {
133  ++neworbit;
134  newbx -= 3564;
135  }
136  while (newbx < 0) {
137  --neworbit;
138  newbx += 3564;
139  }
140 
141  if (tcdsRecord.getEventType() != 0) {
142  TinyEvent tmpse(evnumb, neworbit, newbx);
143  tmpmap[l1AcceptOffset] = tmpse;
144  } else {
145  edm::LogWarning("L1AcceptBunchCrossingNoType") << "L1AcceptBunchCrossing with no type found: ";
146  edm::LogPrint("L1AcceptBunchCrossingNoType") << &tcdsRecord;
147  }
148  } else {
149  edm::LogError("L1AcceptBunchCrossingOffsetTooLarge")
150  << " Too large orbit offset " << orbitoffset << " " << tcdsRecord.getOrbitNr();
151  }
152  } else {
153  edm::LogInfo("L1AcceptBunchCrossingNegativeEvent") << "L1AcceptBunchCrossing with negative event: ";
154  edm::LogVerbatim("L1AcceptBunchCrossingNegativeEvent") << &tcdsRecord;
155  }
156  }
157 
158  // look for the event itself
159  if (tmpmap.find(0) != tmpmap.end()) {
160  TinyEvent::operator=(tmpmap[0]);
161 
162  // loop on the rest of the map and stop when it is missing
163  // check that the events are in the right order and break if not
164 
165  int counter = -1;
166  while (tmpmap.find(counter) != tmpmap.end()) {
167  if (tmpmap[counter + 1].deltaBX(tmpmap[counter]) > 0) {
168  _prevse.push_back(tmpmap[counter]);
169  --counter;
170  } else {
171  edm::LogWarning("L1AcceptBunchCrossingNotInOrder")
172  << "L1AcceptBunchCrossing not in order: orbit " << event.orbitNumber() << " BX " << event.bunchCrossing()
173  << " orbit offset " << orbitoffset << " bx offset " << bxoffset << " :";
174  edm::LogPrint("L1AcceptBunchCrossingNotInOrder") << &tcdsRecord;
175  break;
176  }
177  }
178  } else {
179  TinyEvent::operator=(event);
180  edm::LogWarning("L1AcceptBunchCrossingNoCollection") << " L1AcceptBunchCrossing with offset=0 not found "
181  << " likely TCDSRecord is empty ";
182  }
183 }
Log< level::Info, true > LogVerbatim
EventNumber_t event() const
Definition: EventID.h:40
long long deltaBX() const
uint64_t getOrbitNr() const
Definition: TCDSRecord.h:88
unsigned long long EventNumber_t
Log< level::Error, false > LogError
Class to contain L1 accept history information from TCDS FED.
Definition: L1aInfo.h:16
std::vector< TinyEvent > _prevse
Log< level::Warning, true > LogPrint
TinyEvent & operator=(const TinyEvent &se)
Definition: TinyEvent.h:27
Log< level::Info, false > LogInfo
edm::EventID id() const
Definition: EventBase.h:59
uint16_t getBXID() const
Definition: TCDSRecord.h:85
const L1aHistory & getFullL1aHistory() const
Definition: TCDSRecord.h:111
static std::atomic< unsigned int > counter
uint16_t getEventType() const
Definition: TCDSRecord.h:74
Log< level::Warning, false > LogWarning
uint64_t getOrbitNr() const
Definition: L1aInfo.h:33
TinyEvent()
Definition: TinyEvent.h:14
EventWithHistory::EventWithHistory ( const EventWithHistory he)

Definition at line 185 of file EventWithHistory.cc.

185 : TinyEvent(he), _prevse(he._prevse) {}
std::vector< TinyEvent > _prevse
TinyEvent()
Definition: TinyEvent.h:14

Member Function Documentation

long long EventWithHistory::absoluteBX ( const unsigned int  ev1) const

Definition at line 292 of file EventWithHistory.cc.

References _prevse, TinyEvent::absoluteBX(), and absoluteBX().

Referenced by EventWithHistoryFilter::is_selected().

292  {
293  if (ev1 == 0)
294  return TinyEvent::absoluteBX();
295  if (ev1 <= _prevse.size())
296  return _prevse[ev1 - 1].absoluteBX();
297 
298  return -1;
299 }
std::vector< TinyEvent > _prevse
long long absoluteBX() const
Definition: TinyEvent.h:45
long long absoluteBX() const
long long EventWithHistory::absoluteBX ( ) const

Definition at line 301 of file EventWithHistory.cc.

References TinyEvent::absoluteBX().

Referenced by absoluteBX().

301 { return TinyEvent::absoluteBX(); }
long long absoluteBX() const
Definition: TinyEvent.h:45
long long EventWithHistory::absoluteBXinCycle ( const unsigned int  ev1,
const int  bx0 
) const

Definition at line 303 of file EventWithHistory.cc.

References _prevse, and TinyEvent::absoluteBXinCycle().

Referenced by EventWithHistoryFilter::is_selected().

303  {
304  if (ev1 == 0)
305  return TinyEvent::absoluteBXinCycle(bx0);
306  if (ev1 <= _prevse.size())
307  return _prevse[ev1 - 1].absoluteBXinCycle(bx0);
308 
309  return -1;
310 }
long long absoluteBXinCycle(const int bx0) const
Definition: TinyEvent.h:47
long long absoluteBXinCycle(const unsigned int ev1, const int bx0) const
std::vector< TinyEvent > _prevse
long long EventWithHistory::absoluteBXinCycle ( const int  bx0) const

Definition at line 312 of file EventWithHistory.cc.

References TinyEvent::absoluteBXinCycle().

312 { return TinyEvent::absoluteBXinCycle(bx0); }
long long absoluteBXinCycle(const int bx0) const
Definition: TinyEvent.h:47
int EventWithHistory::add ( const EventWithHistory he,
const int  idepth 
)

Definition at line 213 of file EventWithHistory.cc.

References makeMEIFBenchmarkPlots::ev.

Referenced by counter.Counter::register(), SequenceTypes.Task::remove(), and SequenceTypes.Task::replace().

213  {
214  if (!add((const TinyEvent&)he, idepth))
215  return 0;
216 
217  for (std::vector<TinyEvent>::const_iterator ev = he._prevse.begin(); ev != he._prevse.end(); ev++) {
218  if (!add(*ev, idepth))
219  return 0;
220  }
221  return 1;
222 }
int add(const EventWithHistory &he, const int idepth)
int EventWithHistory::add ( const TinyEvent he,
const int  idepth 
)

Definition at line 224 of file EventWithHistory.cc.

References _prevse, funct::abs(), depth(), isFutureHistory(), and TinyEvent::isNextOf().

Referenced by counter.Counter::register(), SequenceTypes.Task::remove(), and SequenceTypes.Task::replace().

224  {
225  bool isfuture = (idepth < 0);
226  const unsigned int adepth = abs(idepth);
227 
228  // protect against the possibility of filling with past and future history
229 
230  if (depth() > 0 && ((isfuture && !isFutureHistory()) || (!isfuture && isFutureHistory())))
231  return 0;
232 
233  if (adepth == 0)
234  return 0;
235  if (_prevse.size() >= adepth)
236  return 0;
237 
238  if (_prevse.empty()) {
239  if ((!isfuture && isNextOf(se)) || (isfuture && se.isNextOf(*this))) {
240  _prevse.push_back(se);
241  return 1;
242  } else {
243  return 0;
244  }
245  } else {
246  if ((!isfuture && _prevse[_prevse.size() - 1].isNextOf(se)) ||
247  (isfuture && se.isNextOf(_prevse[_prevse.size() - 1]))) {
248  _prevse.push_back(se);
249  return 1;
250  } else {
251  return 0;
252  }
253  }
254  return 0;
255 }
unsigned int depth() const
std::vector< TinyEvent > _prevse
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int isNextOf(const TinyEvent &se) const
Definition: TinyEvent.h:43
bool isFutureHistory() const
const int EventWithHistory::bx ( ) const

Definition at line 259 of file EventWithHistory.cc.

References TinyEvent::_bx.

259 { return TinyEvent::_bx; }
unsigned int _bx
Definition: TinyEvent.h:66
long long EventWithHistory::deltaBX ( const unsigned int  ev2,
const unsigned int  ev1 
) const

Definition at line 273 of file EventWithHistory.cc.

References _prevse, and TinyEvent::deltaBX().

Referenced by EventWithHistoryFilter::is_selected().

273  {
274  if (ev2 == ev1)
275  return 0;
276 
277  if (ev2 < ev1 && ev1 <= _prevse.size()) {
278  if (ev2 == 0)
279  return TinyEvent::deltaBX(_prevse[ev1 - 1]);
280  return _prevse[ev2 - 1].deltaBX(_prevse[ev1 - 1]);
281  }
282 
283  return -1;
284 }
std::vector< TinyEvent > _prevse
long long deltaBX(const TinyEvent &se) const
Definition: TinyEvent.h:49
long long EventWithHistory::deltaBX ( const unsigned int  ev1) const

Definition at line 286 of file EventWithHistory.cc.

References deltaBX().

286 { return deltaBX(0, ev1); }
long long deltaBX() const
long long EventWithHistory::deltaBX ( ) const

Definition at line 288 of file EventWithHistory.cc.

Referenced by deltaBX(), and EventWithHistory().

288 { return deltaBX(0, 1); }
long long deltaBX() const
long long EventWithHistory::deltaBX ( const TinyEvent se) const

Definition at line 290 of file EventWithHistory.cc.

References TinyEvent::deltaBX().

290 { return TinyEvent::deltaBX(se); }
long long deltaBX(const TinyEvent &se) const
Definition: TinyEvent.h:49
long long EventWithHistory::deltaBXinCycle ( const unsigned int  ev2,
const unsigned int  ev1,
const int  bx0 
) const

Definition at line 314 of file EventWithHistory.cc.

References _prevse, and TinyEvent::deltaBXinCycle().

Referenced by deltaBXinCycle(), and EventWithHistoryFilter::is_selected().

314  {
315  if (ev2 == ev1 && ev1 <= _prevse.size()) {
316  if (ev2 == 0)
317  return TinyEvent::deltaBXinCycle(*this, bx0);
318  return _prevse[ev2 - 1].deltaBXinCycle(_prevse[ev1 - 1], bx0);
319  }
320 
321  if (ev2 < ev1 && ev1 <= _prevse.size()) {
322  if (ev2 == 0)
323  return TinyEvent::deltaBXinCycle(_prevse[ev1 - 1], bx0);
324  return _prevse[ev2 - 1].deltaBXinCycle(_prevse[ev1 - 1], bx0);
325  }
326 
327  return -1;
328 }
std::vector< TinyEvent > _prevse
long long deltaBXinCycle(const TinyEvent &se, const int bx0) const
Definition: TinyEvent.h:58
long long EventWithHistory::deltaBXinCycle ( const unsigned int  ev1,
const int  bx0 
) const

Definition at line 330 of file EventWithHistory.cc.

References deltaBXinCycle().

330  {
331  return deltaBXinCycle(0, ev1, bx0);
332 }
long long deltaBXinCycle(const unsigned int ev2, const unsigned int ev1, const int bx0) const
long long EventWithHistory::deltaBXinCycle ( const int  bx0) const

Definition at line 334 of file EventWithHistory.cc.

References deltaBXinCycle().

334 { return deltaBXinCycle(0, 1, bx0); }
long long deltaBXinCycle(const unsigned int ev2, const unsigned int ev1, const int bx0) const
long long EventWithHistory::deltaBXinCycle ( const TinyEvent se,
const int  bx0 
) const

Definition at line 336 of file EventWithHistory.cc.

References TinyEvent::deltaBXinCycle().

336  {
337  return TinyEvent::deltaBXinCycle(se, bx0);
338 }
long long deltaBXinCycle(const TinyEvent &se, const int bx0) const
Definition: TinyEvent.h:58
unsigned int EventWithHistory::depth ( void  ) const

Definition at line 269 of file EventWithHistory.cc.

References _prevse.

Referenced by add(), EventWithHistoryFilter::is_selected(), isFutureHistory(), and operator==().

269 { return _prevse.size(); }
std::vector< TinyEvent > _prevse
const edm::EventNumber_t EventWithHistory::event ( ) const

Definition at line 257 of file EventWithHistory.cc.

References TinyEvent::_event.

Referenced by Types.EventID::cppID().

257 { return TinyEvent::_event; }
edm::EventNumber_t _event
Definition: TinyEvent.h:64
const TinyEvent * EventWithHistory::get ( const unsigned int  ev) const
bool EventWithHistory::isFutureHistory ( ) const

Definition at line 271 of file EventWithHistory.cc.

References _prevse, depth(), and TinyEvent::isNextOf().

Referenced by add().

271 { return (depth() > 0 && _prevse[0].isNextOf(*this)); }
unsigned int depth() const
std::vector< TinyEvent > _prevse
int isNextOf(const TinyEvent &se) const
Definition: TinyEvent.h:43
EventWithHistory & EventWithHistory::operator= ( const EventWithHistory he)

Definition at line 187 of file EventWithHistory.cc.

References _prevse, and TinyEvent::operator=().

187  {
188  if (this != &he) {
190  _prevse = he._prevse;
191  }
192  return *this;
193 }
std::vector< TinyEvent > _prevse
TinyEvent & operator=(const TinyEvent &se)
Definition: TinyEvent.h:27
int EventWithHistory::operator== ( const EventWithHistory other) const

Definition at line 197 of file EventWithHistory.cc.

References _prevse, depth(), cond::serialization::equal(), mps_fire::i, and TinyEvent::operator==().

197  {
198  int equal = TinyEvent::operator==(other);
199 
200  // depth is not checked anymore
201 
202  // equal = equal && (depth() == other.depth());
203 
204  if (equal) {
205  for (unsigned int i = 0; i < ((depth() < other.depth()) ? depth() : other.depth()); i++) {
206  equal = equal && (_prevse[i] == other._prevse[i]);
207  }
208  }
209 
210  return equal;
211 }
unsigned int depth() const
bool equal(const T &first, const T &second)
Definition: Equal.h:32
std::vector< TinyEvent > _prevse
int operator==(const TinyEvent &other) const
Definition: TinyEvent.h:39
const unsigned int EventWithHistory::orbit ( ) const

Definition at line 258 of file EventWithHistory.cc.

References TinyEvent::_orbit.

258 { return TinyEvent::_orbit; }
unsigned int _orbit
Definition: TinyEvent.h:65

Member Data Documentation

std::vector<TinyEvent> EventWithHistory::_prevse
private