Belle II Software development
TRGCDCMerger Class Reference

A class to represent a CDC merger board. More...

#include <Merger.h>

Inheritance diagram for TRGCDCMerger:
TRGBoard

Public Types

enum  unitType {
  innerType = 0 ,
  outerType = 1 ,
  unknown = 999
}
 enum of unitType More...
 

Public Member Functions

 TRGCDCMerger (const std::string &name, unitType type, const TRGClock &systemClock, const TRGClock &dataClock, const TRGClock &userClockInput, const TRGClock &userClockOutput)
 Constructor.
 
virtual ~TRGCDCMerger ()
 Destructor.
 
unitType type (void) const
 return type.
 
void simulate (void)
 simulates firmware.
 
void push_back (const TRGCDCFrontEnd *)
 push back TRGCDCFrontEnd of this Merger
 
void dump (const std::string &message="", const std::string &pre="") const
 dumps contents. "message" is to select information to dump. "pre" will be printed in head of each line.
 
void dump_log (void) const
 Dump all the details of _mosb into a .log file, do it in the end of simulate()
 
void dump_log_inner (void) const
 dump_log for inner Merger
 
void dump_log_outer (void) const
 dump_log for outer Merger
 
const std::string & name (void) const
 returns name.
 
const TRGClockclockSystem (void) const
 returns system clock.
 
const TRGClockclockData (void) const
 returns data clock.
 
const TRGClockclockUserInput (void) const
 returns Aurora user clock for input.
 
const TRGClockclockUserOutput (void) const
 returns Aurora user clock for output.
 
unsigned nInput (void) const
 returns input channels.
 
const TRGChannelinput (unsigned i) const
 returns input channel i.
 
unsigned nOutput (void) const
 returns output channels.
 
TRGChanneloutput (unsigned i) const
 returns output channel i.
 
void appendInput (const TRGChannel *)
 appends an input Aurora channel.
 
void appendOutput (TRGChannel *)
 appends an output Aurora channel.
 

Static Public Member Functions

static std::string version (void)
 return version.
 
static TRGState packerInner (const TRGState &input)
 Make bit pattern using input information from inner FEs.
 
static TRGState packerOuter (const TRGState &input)
 Make bit pattern using input information from outer FEs.
 
static void unpackerInner (const TRGState &input, const TRGState &output)
 Unpack TRGState.
 
static void unpackerOuter (const TRGState &input, const TRGState &output)
 Unpack TRGState.
 
static int implementation (const unitType &type, std::ofstream &)
 make a VHDL component file.
 
static int implementationPort (const unitType &type, std::ofstream &)
 writes a port map.
 

Public Attributes

TRGSignalBundlemosb = nullptr
 Output signal bundle. not the best way to do this though.
 
elements
 STL member.
 

Private Attributes

unitType _type
 Unit type.
 
TRGSignalBundle_misb
 Input single bundle.
 
TRGSignalBundle_mosb
 outptu signal bundle
 
const std::string _name
 Name of a board.
 
const TRGClock_clockSystem
 System clock.
 
const TRGClock_clockData
 Data clock.
 
const TRGClock_clockUserInput
 User clock.
 
const TRGClock_clockUserOutput
 User clock.
 
std::vector< const TRGChannel * > _inputChannels
 Input Aurora channel.
 
std::vector< TRGChannel * > _outputChannels
 Output Aurora channel.
 

Detailed Description

A class to represent a CDC merger board.

Definition at line 34 of file Merger.h.

Member Enumeration Documentation

◆ unitType

enum unitType

enum of unitType

Definition at line 40 of file Merger.h.

40 {
41 innerType = 0, // for superlayer 0, connected with FE innerInside and innerOutside
42 outerType = 1, // for superlayer 1-7, connected with FE outerInside and outerOutside
43 unknown = 999
44 };

Member Data Documentation

◆ _clockData

const TRGClock* _clockData
privateinherited

Data clock.

Definition at line 90 of file Board.h.

◆ _clockSystem

const TRGClock* _clockSystem
privateinherited

System clock.

Definition at line 87 of file Board.h.

◆ _clockUserInput

const TRGClock* _clockUserInput
privateinherited

User clock.

Definition at line 93 of file Board.h.

◆ _clockUserOutput

const TRGClock* _clockUserOutput
privateinherited

User clock.

Definition at line 96 of file Board.h.

◆ _inputChannels

std::vector<const TRGChannel*> _inputChannels
privateinherited

Input Aurora channel.

Definition at line 99 of file Board.h.

◆ _misb

TRGSignalBundle* _misb
private

Input single bundle.

Definition at line 133 of file Merger.h.

◆ _mosb

TRGSignalBundle* _mosb
private

outptu signal bundle

Definition at line 136 of file Merger.h.

◆ _name

const std::string _name
privateinherited

Name of a board.

Definition at line 84 of file Board.h.

◆ _outputChannels

std::vector<TRGChannel*> _outputChannels
privateinherited

Output Aurora channel.

Definition at line 102 of file Board.h.

◆ _type

unitType _type
private

Unit type.

Definition at line 130 of file Merger.h.

◆ mosb

TRGSignalBundle* mosb = nullptr

Output signal bundle. not the best way to do this though.

Definition at line 80 of file Merger.h.


The documentation for this class was generated from the following files: