00001 // $Id: TTUInput.h,v 1.9 2012/02/09 13:00:01 eulisse Exp $ 00002 #ifndef INTERFACE_TTUINPUT_H 00003 #define INTERFACE_TTUINPUT_H 1 00004 00005 // Include files 00006 #include <bitset> 00007 #include <vector> 00008 00018 class TTUInput { 00019 public: 00020 00022 TTUInput( ); 00023 00025 virtual ~TTUInput( ); 00026 00027 TTUInput( const TTUInput & in ) 00028 { 00029 m_bx = in.m_bx; 00030 m_wheelId = in.m_wheelId; 00031 m_hasHits = in.m_hasHits; 00032 m_rbcDecision = in.m_rbcDecision; 00033 input_sec = new std::bitset<6>[12]; 00034 for(int i=0; i < 12; ++i) 00035 input_sec[i] = in.input_sec[i]; 00036 }; 00037 00038 TTUInput & operator=( const TTUInput & rhs ) 00039 { 00040 if (this == &rhs) return (*this); 00041 (*this).m_bx = rhs.m_bx; 00042 (*this).m_wheelId = rhs.m_wheelId; 00043 (*this).m_hasHits = rhs.m_hasHits; 00044 (*this).input_sec = new std::bitset<6>[12]; 00045 (*this).m_rbcDecision = rhs.m_rbcDecision; 00046 for(int i=0; i < 12; ++i) 00047 (*this).input_sec[i] = rhs.input_sec[i]; 00048 return (*this); 00049 }; 00050 00051 void reset(); 00052 00053 int m_bx; 00054 00055 int m_wheelId; 00056 00057 bool m_hasHits; 00058 00059 std::bitset<6> * input_sec; 00060 std::bitset<12> m_rbcDecision; 00061 00062 void mask ( const std::vector<int> & ); 00063 void force( const std::vector<int> & ); 00064 00065 protected: 00066 00067 private: 00068 00069 bool m_debug; 00070 00071 }; 00072 #endif // INTERFACE_TTUINPUT_H