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 // $Id: RBCInput.cc,v 1.2 2009/05/08 10:24:05 aosorio Exp $
2 // Include files
3 
4 // local
6 
7 //-----------------------------------------------------------------------------
8 // Implementation file for class : RBCInput
9 //
10 // 2008-10-10 : Andres Osorio
11 //-----------------------------------------------------------------------------
12 
13 std::istream& operator>>(std::istream &istr , RBCInput & rhs) {
14 
15  int _ks=0;
16 
17  for(int i=0 ; i < 30; ++i) {
18  istr >> rhs.input[i];
19  if ( i < 15 ) _ks = 0;
20  else _ks = 1;
21  rhs.input_sec[_ks].set(i-(15*_ks), rhs.input[i]);
22  }
23  return istr;
24 
25 }
26 
27 std::ostream& operator<<(std::ostream &ostr , RBCInput & rhs) {
28 
29  for(int i=0; i < 15; ++i) ostr << rhs.input_sec[0][i];
30  ostr << '\t';
31  for(int i=0; i < 15; ++i) ostr << rhs.input_sec[1][i];
32  ostr << '\n';
33 
34  return ostr;
35 
36 }
37 
38 void RBCInput::mask( const std::vector<int> & maskvec )
39 {
40 
41  //... operate on the first sector
42 
43  for(int i=0; i < 15; ++i)
44  if ( maskvec[i] ) input_sec[0].set(i,0);
45 
46  //... operate on the second sector
47 
48  for(int i=15; i < 30; ++i)
49  if ( maskvec[i] ) input_sec[1].set( (i-15),0);
50 
51 }
52 
53 void RBCInput::force( const std::vector<int> & forcevec )
54 {
55 
56  if( m_debug ) std::cout << forcevec.size() << std::endl;
57 
58  std::bitset<15> tmp;
59 
60  for(int i=0; i < 15; ++i)
61  tmp.set(i,forcevec[i]);
62 
63  //... operate on the first sector
64  input_sec[0]|=tmp;
65  tmp.reset();
66 
67  for(int i=15; i < 30; ++i)
68  tmp.set( (i-15),forcevec[i]);
69 
70  input_sec[1]|=tmp;
71 
72  tmp.reset();
73 
74 }
75 
int i
Definition: DBlmapReader.cc:9
void mask(const std::vector< int > &)
Definition: RBCInput.cc:38
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
void force(const std::vector< int > &)
Definition: RBCInput.cc:53
std::bitset< 15 > * input_sec
Definition: RBCInput.h:65
bool input[30]
Definition: RBCInput.h:64
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:41
bool m_debug
Definition: RBCInput.h:84