CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ProcessTestSignal.cc
Go to the documentation of this file.
1 // $Id: ProcessTestSignal.cc,v 1.2 2009/05/10 00:33:18 aosorio Exp $
2 // Include files
3 
4 
5 // local
8 
9 //-----------------------------------------------------------------------------
10 // Implementation file for class : ProcessTestSignal
11 //
12 // 2008-11-17 : Andres Osorio
13 //-----------------------------------------------------------------------------
14 
15 //=============================================================================
16 // Standard constructor, initializes variables
17 //=============================================================================
18 ProcessTestSignal::ProcessTestSignal( const char * f_name )
19 {
20 
21  m_in = new std::ifstream();
22  m_in->open(f_name);
23 
24  if(!m_in->is_open()) {
25  std::cout << "ProcessTestSignal> cannot open file" << std::endl;
26  } else {
27  std::cout << "ProcessTestSignal> file is now open" << std::endl;
28  }
29 
30  m_lbin = dynamic_cast<RPCInputSignal*>( new RBCLinkBoardGLSignal( &m_data ) );
31 
32 }
33 //=============================================================================
34 // Destructor
35 //=============================================================================
37 
38  if ( m_lbin ) delete m_lbin;
39 
40  if( m_in ) {
41  m_in->close();
42  delete m_in;
43  }
44 
45 }
46 
47 //=============================================================================
49 {
50 
51  reset();
52 
53  if ( m_in->fail() ) return 0;
54 
55  for(int j=0; j < 5; ++j) {
56 
57  m_block = new RPCData();
58  (*m_in) >> (*m_block);
59  m_vecdata.push_back( m_block );
60  }
61 
62  builddata();
63 
64  if ( m_in->eof() ) return 0;
65  return 1;
66 
67 }
68 
70 {
71  rewind();
72  std::vector<RPCData*>::iterator itr;
73  for(itr=m_vecdata.begin();itr!=m_vecdata.end();++itr)
74  std::cout << (*(*itr));
75  rewind();
76 
77 }
78 
80 {
81  m_in->clear();
82  m_in->seekg(0,std::ios::beg);
83 }
84 
86 {
87 
88  std::vector<RPCData*>::iterator itr;
89  for(itr=m_vecdata.begin();itr!=m_vecdata.end();++itr)
90  delete *itr;
91  m_vecdata.clear();
92 
93 }
94 
96 {
97 
98  int _code(0);
99  std::vector<RPCData*>::iterator itr;
100 
101  for(itr = m_vecdata.begin(); itr != m_vecdata.end(); ++itr)
102  {
103  for(int k=0; k < 6; ++k) {
104 
105  _code = 10000*(*itr)->m_wheel
106  + 100*(*itr)->m_sec1[k]
107  + 1*(*itr)->m_sec2[k];
108  RBCInput * _signal = & (*itr)->m_orsignals[k];
109  _signal->needmapping = true;
110  m_data.insert( std::make_pair( _code , _signal) );
111 
112  }
113  }
114 
115 }
116 
std::map< int, RBCInput * > m_data
ProcessTestSignal()
Standard constructor.
virtual ~ProcessTestSignal()
Destructor.
int j
Definition: DBlmapReader.cc:9
std::ifstream * m_in
int k[5][pyjets_maxn]
bool needmapping
Definition: RBCInput.h:76
std::vector< RPCData * > m_vecdata
RPCInputSignal * m_lbin
tuple cout
Definition: gather_cfg.py:41