Belle II Software  release-08-01-10
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
 

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. More...
 
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.


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