CMS 3D CMS Logo

Public Member Functions | Private Attributes

RBCBasicConfig Class Reference

#include <interface/RBCBasicConfig.h>

Inheritance diagram for RBCBasicConfig:
RBCConfiguration

List of all members.

Public Member Functions

bool initialise ()
void preprocess (RBCInput &)
 RBCBasicConfig (const char *)
 RBCBasicConfig ()
 Standard constructor.
 RBCBasicConfig (const RBCBoardSpecs *, RBCId *)
virtual ~RBCBasicConfig ()
 Destructor.

Private Attributes

bool m_debug
RBCIdm_rbcinfo
std::vector< int > m_vecforce
std::vector< int > m_vecmask

Detailed Description

Author:
Andres Osorio
Date:
2008-10-29

Definition at line 15 of file RBCBasicConfig.h.


Constructor & Destructor Documentation

RBCBasicConfig::RBCBasicConfig ( ) [inline]

Standard constructor.

Definition at line 18 of file RBCBasicConfig.h.

{}; 
RBCBasicConfig::RBCBasicConfig ( const char *  _logic)

Definition at line 29 of file RBCBasicConfig.cc.

References RBCConfiguration::m_rbclogic.

                                                    {
  
  m_rbclogic  = new RBCLogicUnit( _logic );
  
}
RBCBasicConfig::RBCBasicConfig ( const RBCBoardSpecs rbcspecs,
RBCId info 
)

Definition at line 18 of file RBCBasicConfig.cc.

References m_debug, RBCConfiguration::m_rbcboardspecs, m_rbcinfo, and RBCConfiguration::m_rbclogic.

{
  
  m_rbcboardspecs  = rbcspecs;
  m_rbclogic       = new RBCLogicUnit();
  m_rbcinfo        = new RBCId( *info );

  m_debug = false;
    
}
RBCBasicConfig::~RBCBasicConfig ( ) [virtual]

Destructor.

Definition at line 37 of file RBCBasicConfig.cc.

References m_rbcinfo, RBCConfiguration::m_rbclogic, m_vecforce, and m_vecmask.

                                {
  
  if ( m_rbcinfo  ) delete m_rbcinfo;
  if ( m_rbclogic ) delete m_rbclogic;

  m_vecmask.clear();
  m_vecforce.clear();
  
}

Member Function Documentation

bool RBCBasicConfig::initialise ( ) [virtual]

Implements RBCConfiguration.

Definition at line 48 of file RBCBasicConfig.cc.

References gather_cfg::cout, RBCLogicUnit::initialise(), m_debug, RBCConfiguration::m_rbcboardspecs, RBCConfiguration::m_rbclogic, m_vecforce, m_vecmask, RBCLogicUnit::setBoardSpecs(), RBCLogicUnit::setlogic(), ntuplemaker::status, and RBCBoardSpecs::v_boardspecs.

{
  
  bool status(false);
  
  //.  read specifications
  
  std::vector<RBCBoardSpecs::RBCBoardConfig>::const_iterator itr;
  itr = m_rbcboardspecs->v_boardspecs.begin();
  
  // initialise logic unit
  m_rbclogic->setlogic( (*itr).m_LogicType.c_str() );
  status = m_rbclogic->initialise();
  
  m_rbclogic->setBoardSpecs( (*itr) );
  
  // get mask and force vectors
  
  m_vecmask.assign( (*itr).m_MaskedOrInput.begin(), (*itr).m_MaskedOrInput.end() );
  m_vecforce.assign( (*itr).m_ForcedOrInput.begin(), (*itr).m_ForcedOrInput.end() );
  
  if ( !status ) { 
    if( m_debug ) std::cout << "RBCConfiguration> Problem initialising the logic unit\n"; 
    return 0; };
  
  return 1;
  
}
void RBCBasicConfig::preprocess ( RBCInput input) [virtual]

Implements RBCConfiguration.

Definition at line 77 of file RBCBasicConfig.cc.

References gather_cfg::cout, RBCInput::force(), m_debug, m_vecforce, m_vecmask, and RBCInput::mask().

{
  
  if( m_debug ) std::cout << "RBCBasicConfig::preprocess> starts here" << std::endl;

  input.mask( m_vecmask );
  input.force( m_vecforce );
  
  if( m_debug ) std::cout << "RBCBasicConfig::preprocess> done" << std::endl;
  
}

Member Data Documentation

bool RBCBasicConfig::m_debug [private]

Definition at line 39 of file RBCBasicConfig.h.

Referenced by initialise(), preprocess(), and RBCBasicConfig().

Definition at line 34 of file RBCBasicConfig.h.

Referenced by RBCBasicConfig(), and ~RBCBasicConfig().

std::vector<int> RBCBasicConfig::m_vecforce [private]

Definition at line 37 of file RBCBasicConfig.h.

Referenced by initialise(), preprocess(), and ~RBCBasicConfig().

std::vector<int> RBCBasicConfig::m_vecmask [private]

Definition at line 36 of file RBCBasicConfig.h.

Referenced by initialise(), preprocess(), and ~RBCBasicConfig().