CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1MuDTTrackContainer.cc
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
3 // Class L1MuDTTrackContainer
4 //
5 // Description: output data for DTTF trigger
6 //
7 //
8 // Author List: Jorge Troconiz UAM Madrid
9 //
10 //
11 //--------------------------------------------------
12 
13 //-----------------------
14 // This Class's Header --
15 //-----------------------
17 
18 //-------------------------------
19 // Collaborating Class Headers --
20 //-------------------------------
21 
22 
23 //---------------
24 // C++ Headers --
25 //---------------
26 using namespace std;
27 
28 //-------------------
29 // Initializations --
30 //-------------------
31 
32 
33 //----------------
34 // Constructors --
35 //----------------
37 
38 //--------------
39 // Destructor --
40 //--------------
42 
43 //--------------
44 // Operations --
45 //--------------
47 
48  dtTracks = inputTracks;
49 }
50 
52  return &dtTracks;
53 }
54 
56 
57  bool empty = true;
58 
59  for ( Trackiterator i = dtTracks.begin();
60  i != dtTracks.end();
61  i++ ) {
62  if (step == i->bx()) empty = false;
63  }
64 
65  return(empty);
66 }
67 
68 int L1MuDTTrackContainer::bxSize(int step1, int step2) const {
69 
70  int size = 0;
71 
72  for ( Trackiterator i = dtTracks.begin();
73  i != dtTracks.end();
74  i++ ) {
75  if (step1 <= i->bx() && step2 >= i->bx()
76  && i->quality_packed() != 0) size++;
77  }
78 
79  return(size);
80 }
81 
82 L1MuDTTrackCand const* L1MuDTTrackContainer::dtTrackCand1(int wheel, int sect, int step) const {
83 
84  L1MuDTTrackCand const* rT=0;
85 
86  for ( Trackiterator i = dtTracks.begin();
87  i != dtTracks.end();
88  i++ ) {
89  if (step == i->bx() && wheel == i->whNum() && sect == i->scNum()
90  && i->TrkTag() == 0)
91  rT = &(*i);
92  }
93 
94  return(rT);
95 }
96 
97 L1MuDTTrackCand const* L1MuDTTrackContainer::dtTrackCand2(int wheel, int sect, int step) const {
98 
99  L1MuDTTrackCand const* rT=0;
100 
101  for ( Trackiterator i = dtTracks.begin();
102  i != dtTracks.end();
103  i++ ) {
104  if (step == i->bx() && wheel == i->whNum() && sect == i->scNum()
105  && i->TrkTag() == 1)
106  rT = &(*i);
107  }
108 
109  return(rT);
110 }
int i
Definition: DBlmapReader.cc:9
L1MuDTTrackCand const * dtTrackCand2(int wheel, int sect, int bx) const
bool bxEmpty(int step) const
void setContainer(const TrackContainer &inputTracks)
std::vector< L1MuDTTrackCand > TrackContainer
TrackContainer::const_iterator Trackiterator
L1MuDTTrackCand const * dtTrackCand1(int wheel, int sect, int bx) const
int bxSize(int step1, int step2) const
step
TrackContainer const * getContainer() const
tuple size
Write out results.