CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RBCBasicConfig.cc
Go to the documentation of this file.
1 // $Id: RBCBasicConfig.cc,v 1.4 2009/06/07 21:18:50 aosorio Exp $
2 // Include files
3 
4 
5 
6 // local
8 
9 //-----------------------------------------------------------------------------
10 // Implementation file for class : RBCBasicConfig
11 //
12 // 2008-10-31 : Andres Osorio
13 //-----------------------------------------------------------------------------
14 
15 //=============================================================================
16 // Standard constructor, initializes variables
17 //=============================================================================
19 {
20 
21  m_rbcboardspecs = rbcspecs;
22  m_rbclogic = new RBCLogicUnit();
23  m_rbcinfo = new RBCId( *info );
24 
25  m_debug = false;
26 
27 }
28 
29 RBCBasicConfig::RBCBasicConfig( const char * _logic ) {
30 
31  m_rbclogic = new RBCLogicUnit( _logic );
32 
33 }
34 //=============================================================================
35 // Destructor
36 //=============================================================================
38 
39  if ( m_rbcinfo ) delete m_rbcinfo;
40  if ( m_rbclogic ) delete m_rbclogic;
41 
42  m_vecmask.clear();
43  m_vecforce.clear();
44 
45 }
46 
47 //=============================================================================
49 {
50 
51  bool status(false);
52 
53  //. read specifications
54 
55  std::vector<RBCBoardSpecs::RBCBoardConfig>::const_iterator itr;
56  itr = m_rbcboardspecs->v_boardspecs.begin();
57 
58  // initialise logic unit
59  m_rbclogic->setlogic( (*itr).m_LogicType.c_str() );
60  status = m_rbclogic->initialise();
61 
62  m_rbclogic->setBoardSpecs( (*itr) );
63 
64  // get mask and force vectors
65 
66  m_vecmask.assign( (*itr).m_MaskedOrInput.begin(), (*itr).m_MaskedOrInput.end() );
67  m_vecforce.assign( (*itr).m_ForcedOrInput.begin(), (*itr).m_ForcedOrInput.end() );
68 
69  if ( !status ) {
70  if( m_debug ) std::cout << "RBCConfiguration> Problem initialising the logic unit\n";
71  return 0; };
72 
73  return 1;
74 
75 }
76 
78 {
79 
80  if( m_debug ) std::cout << "RBCBasicConfig::preprocess> starts here" << std::endl;
81 
82  input.mask( m_vecmask );
83  input.force( m_vecforce );
84 
85  if( m_debug ) std::cout << "RBCBasicConfig::preprocess> done" << std::endl;
86 
87 }
void preprocess(RBCInput &)
void setBoardSpecs(const RBCBoardSpecs::RBCBoardConfig &)
Definition: RBCLogicUnit.cc:70
RBCBasicConfig()
Standard constructor.
std::vector< int > m_vecforce
void mask(const std::vector< int > &)
Definition: RBCInput.cc:38
void force(const std::vector< int > &)
Definition: RBCInput.cc:53
Definition: RBCId.h:17
void setlogic(const char *)
Definition: RBCLogicUnit.cc:65
bool initialise()
Definition: RBCLogicUnit.cc:45
RBCLogicUnit * m_rbclogic
std::vector< int > m_vecmask
std::vector< RBCBoardConfig > v_boardspecs
Definition: RBCBoardSpecs.h:39
virtual ~RBCBasicConfig()
Destructor.
tuple cout
Definition: gather_cfg.py:121
tuple status
Definition: ntuplemaker.py:245
const RBCBoardSpecs * m_rbcboardspecs