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

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

#include <FrontEnd.h>

Inheritance diagram for TRGCDCFrontEnd:
Collaboration diagram for TRGCDCFrontEnd:

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.
 
TRGSignalBundle * getOSB (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 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)
 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

T 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 outer super layer
45 outerOutside = 3, // outer of the outer 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; };

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: