CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Friends
L1GtPsbConfig Class Reference

#include <L1GtPsbConfig.h>

Public Member Functions

const int gtBoardSlot () const
 get / set board slot More...
 
const bool gtPsbCh0SendLvds () const
 get / set CH0_SEND_LVDS_NOT_DS92LV16 More...
 
const bool gtPsbCh1SendLvds () const
 get / set CH1_SEND_LVDS_NOT_DS92LV16 More...
 
const std::vector< bool > & gtPsbEnableRecLvds () const
 get / set enable LVDS More...
 
const std::vector< bool > & gtPsbEnableRecSerLink () const
 get / set enable channels for receiving signal via serial links More...
 
 L1GtPsbConfig ()
 constructors More...
 
 L1GtPsbConfig (const int &)
 constructor using board slot More...
 
 L1GtPsbConfig (const L1GtPsbConfig &)
 copy constructor More...
 
bool operator!= (const L1GtPsbConfig &) const
 unequal operator More...
 
bool operator< (const L1GtPsbConfig &) const
 less than operator More...
 
L1GtPsbConfigoperator= (const L1GtPsbConfig &)
 assignment operator More...
 
bool operator== (const L1GtPsbConfig &) const
 equal operator More...
 
void print (std::ostream &myCout) const
 print board More...
 
void setGtBoardSlot (const int &)
 
void setGtPsbCh0SendLvds (const bool &)
 
void setGtPsbCh1SendLvds (const bool &)
 
void setGtPsbEnableRecLvds (const std::vector< bool > &)
 
void setGtPsbEnableRecSerLink (const std::vector< bool > &)
 
virtual ~L1GtPsbConfig ()
 destructor More...
 

Static Public Attributes

static const int PsbNumberLvdsGroups = 16
 number of LVDS groups per board More...
 
static const int PsbSerLinkNumberChannels = 8
 number of channels per board More...
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

int m_gtBoardSlot
 the slot of board (part of Board_Id) More...
 
bool m_gtPsbCh0SendLvds
 CH0_SEND_LVDS_NOT_DS92LV16. More...
 
bool m_gtPsbCh1SendLvds
 CH1_SEND_LVDS_NOT_DS92LV16. More...
 
std::vector< bool > m_gtPsbEnableRecLvds
 
std::vector< bool > m_gtPsbEnableRecSerLink
 enable channels for receiving signal via serial links More...
 

Friends

class boost::serialization::access
 
template<typename CondSerializationT , typename Enabled >
struct cond::serialization::access
 
std::ostream & operator<< (std::ostream &, const L1GtPsbConfig &)
 output stream operator More...
 

Detailed Description

Description: class for L1 GT PSB board configuration.

Implementation: <TODO: enter implementation details>

Author
: Vasile Mihai Ghete - HEPHY Vienna

$Date$ $Revision$

Definition at line 32 of file L1GtPsbConfig.h.

Constructor & Destructor Documentation

◆ L1GtPsbConfig() [1/3]

L1GtPsbConfig::L1GtPsbConfig ( )

◆ L1GtPsbConfig() [2/3]

L1GtPsbConfig::L1GtPsbConfig ( const int &  psbSlot)

◆ ~L1GtPsbConfig()

L1GtPsbConfig::~L1GtPsbConfig ( )
virtual

destructor

Definition at line 50 of file L1GtPsbConfig.cc.

50  {
51  // empty
52 }

◆ L1GtPsbConfig() [3/3]

L1GtPsbConfig::L1GtPsbConfig ( const L1GtPsbConfig gtb)

Member Function Documentation

◆ gtBoardSlot()

const int L1GtPsbConfig::gtBoardSlot ( ) const
inline

get / set board slot

Definition at line 67 of file L1GtPsbConfig.h.

67 { return m_gtBoardSlot; }

References m_gtBoardSlot.

◆ gtPsbCh0SendLvds()

const bool L1GtPsbConfig::gtPsbCh0SendLvds ( ) const
inline

get / set CH0_SEND_LVDS_NOT_DS92LV16

Definition at line 72 of file L1GtPsbConfig.h.

72 { return m_gtPsbCh0SendLvds; }

References m_gtPsbCh0SendLvds.

◆ gtPsbCh1SendLvds()

const bool L1GtPsbConfig::gtPsbCh1SendLvds ( ) const
inline

get / set CH1_SEND_LVDS_NOT_DS92LV16

Definition at line 77 of file L1GtPsbConfig.h.

77 { return m_gtPsbCh1SendLvds; }

References m_gtPsbCh1SendLvds.

◆ gtPsbEnableRecLvds()

const std::vector<bool>& L1GtPsbConfig::gtPsbEnableRecLvds ( ) const
inline

get / set enable LVDS

Definition at line 82 of file L1GtPsbConfig.h.

82 { return m_gtPsbEnableRecLvds; }

References m_gtPsbEnableRecLvds.

◆ gtPsbEnableRecSerLink()

const std::vector<bool>& L1GtPsbConfig::gtPsbEnableRecSerLink ( ) const
inline

get / set enable channels for receiving signal via serial links

Definition at line 87 of file L1GtPsbConfig.h.

87 { return m_gtPsbEnableRecSerLink; }

References m_gtPsbEnableRecSerLink.

◆ operator!=()

bool L1GtPsbConfig::operator!= ( const L1GtPsbConfig result) const

unequal operator

Definition at line 107 of file L1GtPsbConfig.cc.

107 { return !(result == *this); }

References mps_fire::result.

◆ operator<()

bool L1GtPsbConfig::operator< ( const L1GtPsbConfig gtb) const

less than operator

Definition at line 110 of file L1GtPsbConfig.cc.

110  {
111  if (m_gtBoardSlot < gtb.m_gtBoardSlot) {
112  return true;
113  } else {
114  return false;
115  }
116 
117  return false;
118 }

References m_gtBoardSlot.

◆ operator=()

L1GtPsbConfig & L1GtPsbConfig::operator= ( const L1GtPsbConfig gtb)

assignment operator

Definition at line 66 of file L1GtPsbConfig.cc.

66  {
67  if (this != &gtb) {
69 
72 
75  }
76 
77  return *this;
78 }

References m_gtBoardSlot, m_gtPsbCh0SendLvds, m_gtPsbCh1SendLvds, m_gtPsbEnableRecLvds, and m_gtPsbEnableRecSerLink.

◆ operator==()

bool L1GtPsbConfig::operator== ( const L1GtPsbConfig gtb) const

equal operator

Definition at line 81 of file L1GtPsbConfig.cc.

81  {
82  if (m_gtBoardSlot != gtb.m_gtBoardSlot) {
83  return false;
84  }
85 
87  return false;
88  }
89 
91  return false;
92  }
93 
95  return false;
96  }
97 
99  return false;
100  }
101 
102  // all members identical
103  return true;
104 }

References m_gtBoardSlot, m_gtPsbCh0SendLvds, m_gtPsbCh1SendLvds, m_gtPsbEnableRecLvds, and m_gtPsbEnableRecSerLink.

◆ print()

void L1GtPsbConfig::print ( std::ostream &  myCout) const

print board

Definition at line 144 of file L1GtPsbConfig.cc.

144  {
145  myCout << "PSB Board slot " << m_gtBoardSlot << " ( 0x" << std::hex << m_gtBoardSlot << std::dec
146  << " ):" << std::endl;
147 
148  myCout << " CH0_SEND_LVDS_NOT_DS92LV16 = " << (m_gtPsbCh0SendLvds ? "True" : "False") << std::endl;
149  myCout << " CH1_SEND_LVDS_NOT_DS92LV16 = " << (m_gtPsbCh1SendLvds ? "True" : "False") << std::endl;
150  myCout << std::endl;
151 
152  int iLvds = -1;
153  for (std::vector<bool>::const_iterator cIt = m_gtPsbEnableRecLvds.begin(); cIt != m_gtPsbEnableRecLvds.end(); ++cIt) {
154  iLvds++;
155  myCout << "\n Enable_Rec_LVDS [" << iLvds << "] = " << ((*cIt) ? "True" : "False");
156  }
157  myCout << std::endl;
158 
159  int iCh = -1;
160  for (std::vector<bool>::const_iterator cIt = m_gtPsbEnableRecSerLink.begin(); cIt != m_gtPsbEnableRecSerLink.end();
161  ++cIt) {
162  iCh++;
163  myCout << "\n SerLink_Ch" << iCh << "_Rec_Enable = " << ((*cIt) ? "True" : "False");
164  }
165  myCout << std::endl;
166 }

References TauDecayModes::dec, m_gtBoardSlot, m_gtPsbCh0SendLvds, m_gtPsbCh1SendLvds, m_gtPsbEnableRecLvds, and m_gtPsbEnableRecSerLink.

◆ serialize()

template<class Archive >
void L1GtPsbConfig::serialize ( Archive &  ar,
const unsigned int  version 
)
private

◆ setGtBoardSlot()

void L1GtPsbConfig::setGtBoardSlot ( const int &  gtBoardSlotValue)

Definition at line 121 of file L1GtPsbConfig.cc.

121 { m_gtBoardSlot = gtBoardSlotValue; }

References m_gtBoardSlot.

◆ setGtPsbCh0SendLvds()

void L1GtPsbConfig::setGtPsbCh0SendLvds ( const bool &  gtPsbCh0SendLvdsValue)

Definition at line 124 of file L1GtPsbConfig.cc.

124  {
125  m_gtPsbCh0SendLvds = gtPsbCh0SendLvdsValue;
126 }

References m_gtPsbCh0SendLvds.

Referenced by L1GtPsbSetupTrivialProducer::L1GtPsbSetupTrivialProducer().

◆ setGtPsbCh1SendLvds()

void L1GtPsbConfig::setGtPsbCh1SendLvds ( const bool &  gtPsbCh1SendLvdsValue)

Definition at line 129 of file L1GtPsbConfig.cc.

129  {
130  m_gtPsbCh1SendLvds = gtPsbCh1SendLvdsValue;
131 }

References m_gtPsbCh1SendLvds.

Referenced by L1GtPsbSetupTrivialProducer::L1GtPsbSetupTrivialProducer().

◆ setGtPsbEnableRecLvds()

void L1GtPsbConfig::setGtPsbEnableRecLvds ( const std::vector< bool > &  gtPsbEnableRecLvdsValue)

Definition at line 134 of file L1GtPsbConfig.cc.

134  {
135  m_gtPsbEnableRecLvds = gtPsbEnableRecLvdsValue;
136 }

References m_gtPsbEnableRecLvds.

Referenced by L1GtPsbSetupTrivialProducer::L1GtPsbSetupTrivialProducer().

◆ setGtPsbEnableRecSerLink()

void L1GtPsbConfig::setGtPsbEnableRecSerLink ( const std::vector< bool > &  gtPsbEnableRecSerLinkValue)

Definition at line 139 of file L1GtPsbConfig.cc.

139  {
140  m_gtPsbEnableRecSerLink = gtPsbEnableRecSerLinkValue;
141 }

References m_gtPsbEnableRecSerLink.

Referenced by L1GtPsbSetupTrivialProducer::L1GtPsbSetupTrivialProducer().

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 114 of file L1GtPsbConfig.h.

◆ cond::serialization::access

template<typename CondSerializationT , typename Enabled >
friend struct cond::serialization::access
friend

Definition at line 114 of file L1GtPsbConfig.h.

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const L1GtPsbConfig result 
)
friend

output stream operator

Definition at line 169 of file L1GtPsbConfig.cc.

169  {
170  result.print(os);
171  return os;
172 }

Member Data Documentation

◆ m_gtBoardSlot

int L1GtPsbConfig::m_gtBoardSlot
private

the slot of board (part of Board_Id)

Definition at line 99 of file L1GtPsbConfig.h.

Referenced by gtBoardSlot(), L1GtPsbConfig(), operator<(), operator=(), operator==(), print(), and setGtBoardSlot().

◆ m_gtPsbCh0SendLvds

bool L1GtPsbConfig::m_gtPsbCh0SendLvds
private

CH0_SEND_LVDS_NOT_DS92LV16.

Definition at line 102 of file L1GtPsbConfig.h.

Referenced by gtPsbCh0SendLvds(), L1GtPsbConfig(), operator=(), operator==(), print(), and setGtPsbCh0SendLvds().

◆ m_gtPsbCh1SendLvds

bool L1GtPsbConfig::m_gtPsbCh1SendLvds
private

CH1_SEND_LVDS_NOT_DS92LV16.

Definition at line 105 of file L1GtPsbConfig.h.

Referenced by gtPsbCh1SendLvds(), L1GtPsbConfig(), operator=(), operator==(), print(), and setGtPsbCh1SendLvds().

◆ m_gtPsbEnableRecLvds

std::vector<bool> L1GtPsbConfig::m_gtPsbEnableRecLvds
private

enable LVDS (PsbNumberLvdsGroups = 16 groups of four bits) can be enabled/disabled per group

Definition at line 109 of file L1GtPsbConfig.h.

Referenced by gtPsbEnableRecLvds(), L1GtPsbConfig(), operator=(), operator==(), print(), and setGtPsbEnableRecLvds().

◆ m_gtPsbEnableRecSerLink

std::vector<bool> L1GtPsbConfig::m_gtPsbEnableRecSerLink
private

enable channels for receiving signal via serial links

Definition at line 112 of file L1GtPsbConfig.h.

Referenced by gtPsbEnableRecSerLink(), L1GtPsbConfig(), operator=(), operator==(), print(), and setGtPsbEnableRecSerLink().

◆ PsbNumberLvdsGroups

const int L1GtPsbConfig::PsbNumberLvdsGroups = 16
static

◆ PsbSerLinkNumberChannels

const int L1GtPsbConfig::PsbSerLinkNumberChannels = 8
static
L1GtPsbConfig::m_gtPsbEnableRecSerLink
std::vector< bool > m_gtPsbEnableRecSerLink
enable channels for receiving signal via serial links
Definition: L1GtPsbConfig.h:112
L1GtPsbConfig::m_gtBoardSlot
int m_gtBoardSlot
the slot of board (part of Board_Id)
Definition: L1GtPsbConfig.h:99
L1GtPsbConfig::m_gtPsbCh0SendLvds
bool m_gtPsbCh0SendLvds
CH0_SEND_LVDS_NOT_DS92LV16.
Definition: L1GtPsbConfig.h:102
L1GtPsbConfig::PsbNumberLvdsGroups
static const int PsbNumberLvdsGroups
number of LVDS groups per board
Definition: L1GtPsbConfig.h:60
L1GtPsbConfig::m_gtPsbEnableRecLvds
std::vector< bool > m_gtPsbEnableRecLvds
Definition: L1GtPsbConfig.h:109
L1GtPsbConfig::m_gtPsbCh1SendLvds
bool m_gtPsbCh1SendLvds
CH1_SEND_LVDS_NOT_DS92LV16.
Definition: L1GtPsbConfig.h:105
L1GtPsbConfig::PsbSerLinkNumberChannels
static const int PsbSerLinkNumberChannels
number of channels per board
Definition: L1GtPsbConfig.h:63
mps_fire.result
result
Definition: mps_fire.py:311
TauDecayModes.dec
dec
Definition: TauDecayModes.py:142