CMS 3D CMS Logo

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

#include <LinkConnSpec.h>

Public Member Functions

void add (const LinkBoardSpec &lb)
 attach LinkBoard to this link More...
 
const LinkBoardSpeclinkBoard (int linkBoardNumInLink) const
 LB served by this link, identified by its position in link. More...
 
const std::vector< LinkBoardSpec > & linkBoards () const
 
 LinkConnSpec (int num=-1)
 ctor with ID only More...
 
std::string print (int depth=0) const
 debud printaout, call its components with depth dectreased by one More...
 
int triggerBoardInputNumber () const
 this link input number in TriggerBoard More...
 

Private Member Functions

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

Private Attributes

std::vector< LinkBoardSpectheLBs
 
int theTriggerBoardInputNumber
 

Friends

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

Detailed Description

RPC LinkConnection Specification for readout decoding

Definition at line 14 of file LinkConnSpec.h.

Constructor & Destructor Documentation

LinkConnSpec::LinkConnSpec ( int  num = -1)
inline

ctor with ID only

Definition at line 18 of file LinkConnSpec.h.

Member Function Documentation

void LinkConnSpec::add ( const LinkBoardSpec lb)

attach LinkBoard to this link

Definition at line 16 of file LinkConnSpec.cc.

References theLBs.

Referenced by RPCEMap::convert(), linkBoards(), counter.Counter::register(), SequenceTypes.Task::remove(), and SequenceTypes.Task::replace().

17 {
18  theLBs.push_back(lb);
19 }
std::vector< LinkBoardSpec > theLBs
Definition: LinkConnSpec.h:36
const LinkBoardSpec * LinkConnSpec::linkBoard ( int  linkBoardNumInLink) const

LB served by this link, identified by its position in link.

Definition at line 21 of file LinkConnSpec.cc.

References theLBs.

Referenced by RPCReadOutMapping::location(), and triggerBoardInputNumber().

22 {
23  //FIXME - temporary implementaion, to be replace by LUT (in preparation)
24  typedef std::vector<LinkBoardSpec>::const_iterator IT;
25  for (IT it=theLBs.begin(); it != theLBs.end(); it++) {
26  if(linkBoardNumInLink==it->linkBoardNumInLink()) return &(*it);
27  }
28  return nullptr;
29 }
std::vector< LinkConnSpec >::const_iterator IT
std::vector< LinkBoardSpec > theLBs
Definition: LinkConnSpec.h:36
const std::vector<LinkBoardSpec>& LinkConnSpec::linkBoards ( ) const
inline
std::string LinkConnSpec::print ( int  depth = 0) const

debud printaout, call its components with depth dectreased by one

Definition at line 4 of file LinkConnSpec.cc.

References harvestTrackValidationPlots::str, theLBs, and theTriggerBoardInputNumber.

Referenced by linkBoards().

5 {
6  std::ostringstream str;
7  str << "LinkConnSpec number="<<theTriggerBoardInputNumber<<std::endl;
8  depth--;
9  if (depth >= 0) {
10  typedef std::vector<LinkBoardSpec>::const_iterator ILB;
11  for (ILB it = theLBs.begin(); it != theLBs.end(); it++) str << (*it).print(depth);
12  }
13  return str.str();
14 }
int theTriggerBoardInputNumber
Definition: LinkConnSpec.h:35
std::vector< LinkBoardSpec > theLBs
Definition: LinkConnSpec.h:36
template<class Archive >
void LinkConnSpec::serialize ( Archive &  ar,
const unsigned int  version 
)
private
int LinkConnSpec::triggerBoardInputNumber ( ) const
inline

this link input number in TriggerBoard

Definition at line 21 of file LinkConnSpec.h.

References linkBoard(), and theTriggerBoardInputNumber.

Referenced by RPCReadOutMappingWithFastSearch::init(), and RPCReadOutMapping::rawDataFrame().

int theTriggerBoardInputNumber
Definition: LinkConnSpec.h:35

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 38 of file LinkConnSpec.h.

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

Definition at line 38 of file LinkConnSpec.h.

Member Data Documentation

std::vector<LinkBoardSpec> LinkConnSpec::theLBs
private

Definition at line 36 of file LinkConnSpec.h.

Referenced by add(), linkBoard(), linkBoards(), and print().

int LinkConnSpec::theTriggerBoardInputNumber
private

Definition at line 35 of file LinkConnSpec.h.

Referenced by print(), and triggerBoardInputNumber().