00001 // $Id: TTUInput.cc,v 1.7 2009/08/19 15:04:01 aosorio Exp $ 00002 // Include files 00003 00004 00005 00006 // local 00007 #include "L1Trigger/RPCTechnicalTrigger/interface/TTUInput.h" 00008 #include <iostream> 00009 00010 //----------------------------------------------------------------------------- 00011 // Implementation file for class : TTUInput 00012 // 00013 // 2008-10-16 : Andres Osorio 00014 //----------------------------------------------------------------------------- 00015 00016 //============================================================================= 00017 // Standard constructor, initializes variables 00018 //============================================================================= 00019 TTUInput::TTUInput( ) { 00020 00021 m_bx = 0; 00022 m_wheelId = 0; 00023 m_hasHits = false; 00024 input_sec = new std::bitset<6>[12]; 00025 m_rbcDecision.reset(); 00026 00027 for(int i=0; i < 12; ++i) 00028 input_sec[i].reset(); 00029 00030 m_debug = false; 00031 00032 } 00033 //============================================================================= 00034 // Destructor 00035 //============================================================================= 00036 TTUInput::~TTUInput() { 00037 00038 m_hasHits = false; 00039 if ( input_sec ) delete[] input_sec; 00040 00041 } 00042 //============================================================================= 00043 00044 void TTUInput::reset() 00045 { 00046 00047 m_bx = 0; 00048 m_wheelId = 0; 00049 m_hasHits = false; 00050 00051 for(int i=0; i < 12; ++i) 00052 input_sec[i].reset(); 00053 00054 m_rbcDecision.reset(); 00055 00056 } 00057 00058 void TTUInput::mask( const std::vector<int> & maskvec ) 00059 { 00060 00061 //for(int i=0; i < 15; ++i) 00062 // if ( maskvec[i] ) input_sec[0].set(i,0); 00063 00064 //for(int i=15; i < 30; ++i) 00065 // if ( maskvec[i] ) input_sec[1].set( (i-15),0); 00066 00067 } 00068 00069 void TTUInput::force( const std::vector<int> & forcevec ) 00070 { 00071 00072 //if( m_debug ) std::cout << forcevec.size() << std::endl; 00073 00074 //std::bitset<15> tmp; 00075 00076 //for(int i=0; i < 15; ++i) 00077 // tmp.set(i,forcevec[i]); 00078 00079 //... operate on the first sector 00080 //input_sec[0]|=tmp; 00081 //tmp.reset(); 00082 00083 //for(int i=15; i < 30; ++i) 00084 // tmp.set( (i-15),forcevec[i]); 00085 00086 //input_sec[1]|=tmp; 00087 00088 //tmp.reset(); 00089 00090 } 00091