CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CrossingFramePlaybackInfoExtended.h
Go to the documentation of this file.
1 #ifndef CROSSING_FRAME_PLAYBACKINFOEXTENDED_H
2 #define CROSSING_FRAME_PLAYBACKINFOEXTENDED_H
3 
19 #include <vector>
20 #include <utility>
21 
22 #include <iostream>
23 
25 {
26 
27  public:
28  // con- and destructors
29 
31  CrossingFramePlaybackInfoExtended(int minBunch, int maxBunch, unsigned int maxNbSources);
32 
34 
35  // getters
36  std::vector<edm::EventID> getStartEventId(const unsigned int s,const int bcr) const {return (idFirstPileup_[s])[bcr-minBunch_];}
37 
38  void getEventStartInfo(std::vector<std::vector<edm::EventID> > &ids, const unsigned int s) const {
39  ids=idFirstPileup_[s];
40  }
41 
42 
43  // setters
44  //FIXME: max nr sources, test on max nrsources
45  void setStartEventId( const std::vector<edm::EventID> &id, const unsigned int s, const int bcr, const int start) {
46  std::vector<edm::EventID> newVec;
47  std::vector<edm::EventID>::const_iterator idStart = id.begin()+start;
48  newVec.insert(newVec.begin(), idStart, id.end());
49  idFirstPileup_[s][bcr-minBunch_]=newVec;
50  }
51  void setEventStartInfo(std::vector<std::vector<edm::EventID> > &id, const unsigned int s);
52 
53  private:
54 
55  // we need the same info for each bunchcrossing
56  unsigned int maxNbSources_;
57 
58  std::vector<std::vector<std::vector<edm::EventID> > > idFirstPileup_;
59 
61  int minBunch_;
62 };
63 
64 
65 #endif
std::vector< std::vector< std::vector< edm::EventID > > > idFirstPileup_
void setEventStartInfo(std::vector< std::vector< edm::EventID > > &id, const unsigned int s)
std::vector< edm::EventID > getStartEventId(const unsigned int s, const int bcr) const
void setStartEventId(const std::vector< edm::EventID > &id, const unsigned int s, const int bcr, const int start)
void getEventStartInfo(std::vector< std::vector< edm::EventID > > &ids, const unsigned int s) const