CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RBCInput.cc
Go to the documentation of this file.
1 // Include files
2 
3 // local
5 
6 //-----------------------------------------------------------------------------
7 // Implementation file for class : RBCInput
8 //
9 // 2008-10-10 : Andres Osorio
10 //-----------------------------------------------------------------------------
11 
12 std::istream& operator>>(std::istream &istr , RBCInput & rhs) {
13 
14  int _ks=0;
15 
16  for(int i=0 ; i < 30; ++i) {
17  istr >> rhs.input[i];
18  if ( i < 15 ) _ks = 0;
19  else _ks = 1;
20  rhs.input_sec[_ks].set(i-(15*_ks), rhs.input[i]);
21  }
22  return istr;
23 
24 }
25 
26 std::ostream& operator<<(std::ostream &ostr , RBCInput & rhs) {
27 
28  for(int i=0; i < 15; ++i) ostr << rhs.input_sec[0][i];
29  ostr << '\t';
30  for(int i=0; i < 15; ++i) ostr << rhs.input_sec[1][i];
31  ostr << '\n';
32 
33  return ostr;
34 
35 }
36 
37 void RBCInput::mask( const std::vector<int> & maskvec )
38 {
39 
40  //... operate on the first sector
41 
42  for(int i=0; i < 15; ++i)
43  if ( maskvec[i] ) input_sec[0].set(i,0);
44 
45  //... operate on the second sector
46 
47  for(int i=15; i < 30; ++i)
48  if ( maskvec[i] ) input_sec[1].set( (i-15),0);
49 
50 }
51 
52 void RBCInput::force( const std::vector<int> & forcevec )
53 {
54 
55  if( m_debug ) std::cout << forcevec.size() << std::endl;
56 
57  std::bitset<15> tmp;
58 
59  for(int i=0; i < 15; ++i)
60  tmp.set(i,forcevec[i]);
61 
62  //... operate on the first sector
63  input_sec[0]|=tmp;
64  tmp.reset();
65 
66  for(int i=15; i < 30; ++i)
67  tmp.set( (i-15),forcevec[i]);
68 
69  input_sec[1]|=tmp;
70 
71  tmp.reset();
72 
73 }
74 
int i
Definition: DBlmapReader.cc:9
void mask(const std::vector< int > &)
Definition: RBCInput.cc:37
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
void force(const std::vector< int > &)
Definition: RBCInput.cc:52
std::bitset< 15 > * input_sec
Definition: RBCInput.h:64
bool input[30]
Definition: RBCInput.h:63
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
std::istream & operator>>(std::istream &input, CLHEP::HepGenMatrix &matrix)
Definition: matrixSaver.cc:111
tuple cout
Definition: gather_cfg.py:145
bool m_debug
Definition: RBCInput.h:83