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 {
19 
20  m_in = new std::ifstream();
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 = dynamic_cast<RPCInputSignal*>( new RBCLinkBoardGLSignal( &m_data ) );
30 
31 }
32 //=============================================================================
33 // Destructor
34 //=============================================================================
36 
37  if ( m_lbin ) delete m_lbin;
38 
39  if( m_in ) {
40  m_in->close();
41  delete m_in;
42  }
43 
44 }
45 
46 //=============================================================================
48 {
49 
50  reset();
51 
52  if ( m_in->fail() ) return 0;
53 
54  for(int j=0; j < 5; ++j) {
55 
56  m_block = new RPCData();
57  (*m_in) >> (*m_block);
58  m_vecdata.push_back( m_block );
59  }
60 
61  builddata();
62 
63  if ( m_in->eof() ) return 0;
64  return 1;
65 
66 }
67 
69 {
70  rewind();
71  std::vector<RPCData*>::iterator itr;
72  for(itr=m_vecdata.begin();itr!=m_vecdata.end();++itr)
73  std::cout << (*(*itr));
74  rewind();
75 
76 }
77 
79 {
80  m_in->clear();
81  m_in->seekg(0,std::ios::beg);
82 }
83 
85 {
86 
87  std::vector<RPCData*>::iterator itr;
88  for(itr=m_vecdata.begin();itr!=m_vecdata.end();++itr)
89  delete *itr;
90  m_vecdata.clear();
91 
92 }
93 
95 {
96 
97  int _code(0);
98  std::vector<RPCData*>::iterator itr;
99 
100  for(itr = m_vecdata.begin(); itr != m_vecdata.end(); ++itr)
101  {
102  for(int k=0; k < 6; ++k) {
103 
104  _code = 10000*(*itr)->m_wheel
105  + 100*(*itr)->m_sec1[k]
106  + 1*(*itr)->m_sec2[k];
107  RBCInput * _signal = & (*itr)->m_orsignals[k];
108  _signal->needmapping = true;
109  m_data.insert( std::make_pair( _code , _signal) );
110 
111  }
112  }
113 
114 }
115 
std::map< int, RBCInput * > m_data
ProcessTestSignal()
Standard constructor.
~ProcessTestSignal() override
Destructor.
std::ifstream * m_in
int k[5][pyjets_maxn]
bool needmapping
Definition: RBCInput.h:75
std::vector< RPCData * > m_vecdata
int next() override
RPCInputSignal * m_lbin
TriggerPrimitive::RPCData RPCData
Definition: Common.h:33