Belle II Software development
TRGCDCFrontEnd Class Reference

A class to represent a CDC front-end board. More...

#include <FrontEnd.h>

Inheritance diagram for TRGCDCFrontEnd:
TRGBoard

Public Types

enum  boardType {
  innerInside = 0 ,
  innerOutside = 1 ,
  outerInside = 2 ,
  outerOutside = 3 ,
  unknown = 999
}
 enum boardType More...
 

Public Member Functions

 TRGCDCFrontEnd (const std::string &name, boardType type, const TRGClock &systemClock, const TRGClock &dataClock, const TRGClock &userClock)
 Constructor.
 
virtual ~TRGCDCFrontEnd ()
 Destructor.
 
boardType type (void) const
 returns type.
 
void simulate (void)
 simulates firmware.
 
TRGSignalBundlegetOSB (void) const
 output from FrontEnd
 
void push_back (const TRGCDCWire *)
 push back TRGCDCWire for this Front-end
 
void dump (const std::string &message="", const std::string &pre="") const
 dumps contents.
 
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_innerInside (void) const
 Dump all the details of _mosb into a .log file, for innerInside FE.
 
void dump_log_innerOutside (void) const
 Dump all the details of _mosb into a .log file, for innerOutside FE.
 
void dump_log_outerInside (void) const
 Dump all the details of _mosb into a .log file, for outerInside FE.
 
void dump_log_outerOutside (void) const
 Dump all the details of _mosb into a .log file, for outerOutside FE.
 
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)
 returns version.
 
static TRGState packerInnerInside (const TRGState &input)
 Makes bit pattern using input bit pattern for the inner FE.
 
static TRGState packerInnerOutside (const TRGState &input)
 Makes bit pattern using input bit pattern for the outer FE.
 
static TRGState packerOuterInside (const TRGState &input)
 Makes bit pattern using input bit pattern for the inner FE.
 
static TRGState packerOuterOutside (const TRGState &input)
 Makes bit pattern using input bit pattern for the outer FE.
 
static void unpackerInnerInside (const TRGState &input, const TRGState &output)
 Unpacks TRGState.
 
static void unpackerInnerOutside (const TRGState &input, const TRGState &output)
 Unpacks TRGState.
 
static void unpackerOuterInside (const TRGState &input, const TRGState &output)
 Unpacks TRGState.
 
static void unpackerOuterOutside (const TRGState &input, const TRGState &output)
 Unpacks TRGState.
 
static int implementation (const boardType &type, std::ofstream &)
 make a VHDL component file.
 
static int implementationPort (const boardType &type, std::ofstream &)
 writes a port map.
 

Public Attributes

elements
 STL member.
 

Private Attributes

boardType _type
 Board type.
 
TRGSignalBundle_isb
 Input signal bundle.
 
TRGSignalBundle_osb
 Output 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 front-end board.

Definition at line 35 of file FrontEnd.h.

Member Enumeration Documentation

◆ boardType

enum boardType

enum boardType

Definition at line 41 of file FrontEnd.h.

41 {
42 innerInside = 0, // inner of the inner-most super layer
43 innerOutside = 1, // outer of the inner-most super layer
44 outerInside = 2, // inner of the ouer super layer
45 outerOutside = 3, // outer of the ouer super layer
46 unknown = 999
47 };

Member Function Documentation

◆ getOSB()

TRGSignalBundle * getOSB ( void  ) const
inline

output from FrontEnd

Definition at line 77 of file FrontEnd.h.

77{ return _osb; };
TRGSignalBundle * _osb
Output signal bundle.
Definition: FrontEnd.h:151

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.

◆ _isb

TRGSignalBundle* _isb
private

Input signal bundle.

Definition at line 148 of file FrontEnd.h.

◆ _name

const std::string _name
privateinherited

Name of a board.

Definition at line 84 of file Board.h.

◆ _osb

TRGSignalBundle* _osb
private

Output signal bundle.

Definition at line 151 of file FrontEnd.h.

◆ _outputChannels

std::vector<TRGChannel*> _outputChannels
privateinherited

Output Aurora channel.

Definition at line 102 of file Board.h.

◆ _type

boardType _type
private

Board type.

Definition at line 145 of file FrontEnd.h.


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