CMS 3D CMS Logo

ProcessTestSignal.cc
Go to the documentation of this file.
1 // Include files
2 
3 
4 // local
7 
8 //-----------------------------------------------------------------------------
9 // Implementation file for class : ProcessTestSignal
10 //
11 // 2008-11-17 : Andres Osorio
12 //-----------------------------------------------------------------------------
13 
14 //=============================================================================
15 // Standard constructor, initializes variables
16 //=============================================================================
17 ProcessTestSignal::ProcessTestSignal( const char * f_name )
18  :m_in{}
19 {
20 
21  m_in.open(f_name);
22 
23  if(!m_in.is_open()) {
24  std::cout << "ProcessTestSignal> cannot open file" << std::endl;
25  } else {
26  std::cout << "ProcessTestSignal> file is now open" << std::endl;
27  }
28 
29  m_lbin = std::make_unique<RBCLinkBoardGLSignal>( &m_data );
30 
31 }
32 //=============================================================================
33 // Destructor
34 //=============================================================================
36 
37  m_in.close();
38 }
39 
40 //=============================================================================
42 {
43 
44  reset();
45 
46  if ( m_in.fail() ) return 0;
47 
48  for(int j=0; j < 5; ++j) {
49 
50  auto& block = m_vecdata.emplace_back();
51  (m_in) >> (*block);
52  }
53 
54  builddata();
55 
56  if ( m_in.eof() ) return 0;
57  return 1;
58 
59 }
60 
62 {
63  rewind();
64  for(auto& d: m_vecdata)
65  std::cout << (*d);
66  rewind();
67 
68 }
69 
71 {
72  m_in.clear();
73  m_in.seekg(0,std::ios::beg);
74 }
75 
77 {
78 
79  m_vecdata.clear();
80 
81 }
82 
84 {
85 
86  int _code(0);
87  for(auto& d : m_vecdata)
88  {
89  for(int k=0; k < 6; ++k) {
90 
91  _code = 10000*(d->m_wheel)
92  + 100*d->m_sec1[k]
93  + 1*d->m_sec2[k];
94  RBCInput * _signal = & (d->m_orsignals[k]);
95  _signal->needmapping = true;
96  m_data.insert( std::make_pair( _code , _signal) );
97 
98  }
99  }
100 
101 }
102 
std::map< int, RBCInput * > m_data
std::unique_ptr< RPCInputSignal > m_lbin
ProcessTestSignal(const char *)
std::vector< std::unique_ptr< RPCData > > m_vecdata
~ProcessTestSignal() override
Destructor.
int k[5][pyjets_maxn]
bool needmapping
Definition: RBCInput.h:52
std::ifstream m_in
int next() override