Belle II Software prerelease-11-00-00d
TRGCDCMerger Class Reference

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

#include <Merger.h>

Inheritance diagram for TRGCDCMerger:
Collaboration diagram for TRGCDCMerger:

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 TRGClock & clockSystem (void) const
 returns system clock.
 
const TRGClock & clockData (void) const
 returns data clock.
 
const TRGClock & clockUserInput (void) const
 returns Aurora user clock for input.
 
const TRGClock & clockUserOutput (void) const
 returns Aurora user clock for output.
 
unsigned nInput (void) const
 returns input channels.
 
const TRGChannel * input (unsigned i) const
 returns input channel i.
 
unsigned nOutput (void) const
 returns output channels.
 
TRGChannel * output (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

TRGSignalBundle * mosb = nullptr
 Output signal bundle. not the best way to do this though.
 
T 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: