pit_driver_opticalLink Class Reference

Class to store status and implement functionalities of links. More...

#include <pit_driver_opticalLink.h>

List of all members.

Public Member Functions

 pit_driver_opticalLink (unsigned int linkNumber, pit_comm *commFEE, pit_driver_optinBoard *OptinBoard)
 ~pit_driver_opticalLink (void)
UInt32 readLinkSetting (void) throw (exception)
 Access pit hardware, read link setting register.
int writeLinkSetting (UInt32 p_linkSetting) throw (exception)
 Access pit hardware, write link setting register.
unsigned int getLinkNumber () const
 getter of the LinkNumber of this object
unsigned int getBoardNumber () const
 getter of the OPTIN board number of this object (retrieved from parent)
t_sideCoord getSide () const
 getter of the SPD side coordinate of this object
unsigned int getSector () const
 getter of the SPD sector coordinate of this object
unsigned int getHalfStave () const
 getter of the SPD half_stave coordinate of this object
int getFoMask ()
 method without acessing the hardware just returning the internal member
int getUdfFoPattern ()
 method without acessing the hardware just returning the internal member
pit_driver_foChannelgetFoChannel (unsigned int channelNum)
 returns a reference to one of the ten foChannel childrens
void refreshDetectorCoordinates ()
 Method to refresh the detector coordinates.
UInt32 refreshLinkSetting ()
 read,decode and update services connected to the setting register
UInt32 refreshLinkStatus ()
 read,decode and update services connected to the status register
bool refreshLinkRequired (void)
 Retrieves from the configuration handler if this link is required in the present configuration.
bool readLinkActive (void) throw (exception)
 Access pit hardware, check if this link is active.
bool readLinkLocked (void) throw (exception)
 Access pit hardware, check if this link is ready (locked).
int readLinkPhase (void) throw (exception)
 Access pit hardware, read measurement of link phase.
int readLinkDelay (void) throw (exception)
 Access pit hardware, read value of link delay.
int writeLinkDelay (int p_linkDelay) throw (exception)
 Access pit hardware, sets value of link delay.
int readFoMask (void) throw (exception)
 Access pit hardware, read value of chip mask field.
int writeFoMask (int p_foMask) throw (exception)
 Access pit hardware, sets value of chip mask field.
int readUdfFoPattern (void) throw (exception)
 Access pit hardware, read value of chip user defined Fast-OR pattern.
int writeUdfFoPattern (int p_udfFoPattern) throw (exception)
 Access pit hardware, sets value of chip user defined Fast-OR pattern.
int readSelfMaskingEnable (void) throw (exception)
 Access pit hardware, read value of chip self masking functionality enable field.
int writeSelfMaskingEnable (int p_selfMaskingEnable) throw (exception)
 Access pit hardware, sets value of chip user defined Fast-OR pattern.
int readTimeStamp (int p_timeStampNumber) throw (exception)
 Access pit hardware, read value of timestamp registers.
int readErrorCounter (void) throw (exception)
 Access pit hardware, read value of error counter registers.
UInt28 getBoardBaseAdress (void) const
 gets the base address of the optin board this link belongs to
bool isInnerLayer (void) const
 returns if this optical link is inner or outer layer
int refresh ()
 refreshes all status members, services and call the refresh of all children
int writeEnUdFastors (bool enable)
 writes the enbale bit to enable/disable the user defined fastors
bool readEnUdFastors ()

Private Member Functions

void decodeLinkSetting (UInt32 linkSetting)
 private function used to decode the setting register into the private members
void decodeLinkStatus (UInt32 linkStatus)
 private function used to decode the status register into the private members
void refreshStatusServices (void)
 private function used to refresh the DIM services connected to the status register
UInt32 readLinkStatus (void) throw (exception)
 Access pit hardware, read link status register.

Private Attributes

unsigned int linkNumber
 Number of this link in the OPTIN board.
pit_driver_optinBoardmotherOptinBoard
 Pointer to parent optinBoard to which this link belongs to, initialized in the contructor.
t_sideCoord side
 Detector coordinate, physical SPD side where the MCM modeled by this object is.
unsigned int sector
 Detector coordinate, physical SPD sector where the MCM modeled by this object is.
unsigned int half_stave
 Detector coordinate, physical SPD half stave where the MCM modeled by this object is.
pit_driver_foChannelfoChannel [NUMBER_FO_CHANNELS]
 Pointers to 10 children foChannel objects.
pit_commcommFEE
 Pointer to the hardware communication object.
log4cpp::Category * logDriverOpticalLink
 Pointer to the logger object.
int linkRequired
 Is the optical link required by configuration?
DimService * serviceLinkRequired
int linkActive
 Is the optical link active?
DimService * serviceLinkActive
 Dim service publishing the link active status bit.
int linkLocked
 Status member, is the optical link ready (locked)?
DimService * serviceLinkLocked
 DIM service connecte to linkLocked.
int linkPhase
 Phase of communication incoming from MCM (units: 25 ns clock periods; range: 0,3; -1 error).
int linkDelay
 Delay added to the communication stream incoming from MCM (units: 25 ns clock periods; range: 0,3; -1 error).
int foMask
 FastOR mask functionality. 10 LS bits associated to each chip. -1 error.
int udfFoPattern
 User defined FastOR pattern functionality. 10 LS bits associated to each chip.
bool udfEnable
 user defined fastors enable bit (1 for all 10 fastors channels in one optical link)


Detailed Description

Class to store status and implement functionalities of links.

Definition at line 36 of file pit_driver_opticalLink.h.


Constructor & Destructor Documentation

pit_driver_opticalLink::pit_driver_opticalLink ( unsigned int  linkNumber,
pit_comm commFEE,
pit_driver_optinBoard OptinBoard 
)

Definition at line 15 of file pit_driver_opticalLink.cpp.

References A, commFEE, foChannel, half_stave, pit_driver_optinBoard::IsBoardPlugged(), linkActive, linkLocked, linkNumber, linkRequired, logDriverOpticalLink, motherOptinBoard, NUMBER_FO_CHANNELS, refreshDetectorCoordinates(), refreshLinkRequired(), refreshLinkSetting(), refreshStatusServices(), sector, serviceLinkActive, serviceLinkLocked, serviceLinkRequired, and side.

pit_driver_opticalLink::~pit_driver_opticalLink ( void   ) 

Definition at line 84 of file pit_driver_opticalLink.cpp.

References foChannel, NUMBER_FO_CHANNELS, serviceLinkActive, serviceLinkLocked, and serviceLinkRequired.


Member Function Documentation

void pit_driver_opticalLink::decodeLinkSetting ( UInt32  linkSetting  )  [private]

private function used to decode the setting register into the private members

uses extractFromUInt32 to extract the values

Definition at line 153 of file pit_driver_opticalLink.cpp.

References extractFromUInt32(), foMask, linkDelay, logDriverOpticalLink, udfEnable, and udfFoPattern.

Referenced by refreshLinkSetting().

void pit_driver_opticalLink::decodeLinkStatus ( UInt32  linkStatus  )  [private]

private function used to decode the status register into the private members

Definition at line 196 of file pit_driver_opticalLink.cpp.

References extractFromUInt32(), linkActive, linkLocked, and linkPhase.

Referenced by refreshLinkStatus().

void pit_driver_opticalLink::refreshStatusServices ( void   )  [private]

private function used to refresh the DIM services connected to the status register

Definition at line 212 of file pit_driver_opticalLink.cpp.

References refreshLinkRequired(), serviceLinkActive, and serviceLinkLocked.

Referenced by pit_driver_opticalLink(), and refreshLinkStatus().

UInt32 pit_driver_opticalLink::readLinkStatus ( void   )  throw (exception) [private]

Access pit hardware, read link status register.

This method access hardware (if possible) to read the status register. It sets accordingly data members: linkActive, linkLocked on communication success, both false on communication failure (as unknown). It refreshes the DIM service associated with linkActive, linkLocked. It returns the retrieved value. It can be used by the other public member functions to perform the hardware access to read the link status register It throws: exception (forwarding the one thrown by the comm layer) in case communication to hardware fails.

Definition at line 187 of file pit_driver_opticalLink.cpp.

References commFEE, pit_driver_optinBoard::getBaseAddress(), LINK_STATUS_OFFSET, linkNumber, motherOptinBoard, and pit_comm::PITReadWord().

Referenced by refreshLinkStatus().

UInt32 pit_driver_opticalLink::readLinkSetting ( void   )  throw (exception)

Access pit hardware, read link setting register.

This method access hardware (if possible) to read the setting register. It sets accordingly data members: linkDelay, foMask, udfFoPattern, selfMaskingEnable on communication success; all set to 0s on communication failure (as unknown). It returns the retrieved value of the seetting register. It can be used by the other public member functions to perform the hardware access to read the link setting register It throws: exception (forwarding the one thrown by the comm layer) in case communication to hardware fails.

Definition at line 234 of file pit_driver_opticalLink.cpp.

References commFEE, pit_driver_optinBoard::getBaseAddress(), LINK_SETTING_OFFSET, linkNumber, motherOptinBoard, and pit_comm::PITReadWord().

Referenced by pit_driver_foChannel::forceHigh(), pit_driver_foChannel::refresh(), refreshLinkSetting(), pit_driver_foChannel::setMask(), and writeEnUdFastors().

int pit_driver_opticalLink::writeLinkSetting ( UInt32  p_linkSetting  )  throw (exception)

Access pit hardware, write link setting register.

This method access hardware (if possible) to write the setting register. It sets accordingly data members: linkDelay, foMask, udfFoPattern, selfMaskingEnable on communication success; all set to 0s on communication failure (as unknown). It returns the set value of the setting register. This is a private service method used by the public member functions to set the fields of the setting register. It can be used by the other public member functions to perform the hardware access to read the link setting register It throws: exception (forwarding the one thrown by the comm layer) in case communication to hardware fails.

Definition at line 171 of file pit_driver_opticalLink.cpp.

References LINK_SETTING_OFFSET.

Referenced by pit_driver_foChannel::forceHigh(), pit_driver_foChannel::setMask(), and writeEnUdFastors().

unsigned int pit_driver_opticalLink::getLinkNumber (  )  const [inline]

getter of the LinkNumber of this object

Definition at line 173 of file pit_driver_opticalLink.h.

Referenced by pit_driver_foChannel::getLinkNumber(), pit_driver_foChannel::readCounter(), and refreshLinkRequired().

unsigned int pit_driver_opticalLink::getBoardNumber (  )  const

getter of the OPTIN board number of this object (retrieved from parent)

Definition at line 367 of file pit_driver_opticalLink.cpp.

References pit_driver_optinBoard::getBoardNumber(), and motherOptinBoard.

Referenced by pit_driver_foChannel::getBoardNumber(), and getFoChannel().

t_sideCoord pit_driver_opticalLink::getSide (  )  const [inline]

getter of the SPD side coordinate of this object

Definition at line 179 of file pit_driver_opticalLink.h.

References sector.

Referenced by pit_driver_foChannel::getSide().

unsigned int pit_driver_opticalLink::getSector (  )  const [inline]

getter of the SPD sector coordinate of this object

Definition at line 182 of file pit_driver_opticalLink.h.

References half_stave.

Referenced by pit_driver_foChannel::getSector().

unsigned int pit_driver_opticalLink::getHalfStave (  )  const [inline]

getter of the SPD half_stave coordinate of this object

Definition at line 185 of file pit_driver_opticalLink.h.

References foMask.

Referenced by pit_driver_foChannel::getHalfStave().

int pit_driver_opticalLink::getFoMask (  )  [inline]

method without acessing the hardware just returning the internal member

Definition at line 194 of file pit_driver_opticalLink.h.

References udfFoPattern.

Referenced by pit_driver_foChannel::refresh().

int pit_driver_opticalLink::getUdfFoPattern (  )  [inline]

method without acessing the hardware just returning the internal member

Definition at line 195 of file pit_driver_opticalLink.h.

Referenced by pit_driver_foChannel::refresh().

pit_driver_foChannel & pit_driver_opticalLink::getFoChannel ( unsigned int  channelNum  ) 

returns a reference to one of the ten foChannel childrens

Returns a reference to one of the twelve opticalLink childrens Throws an exception in case the parameter is out of proper boundary

Parameters:
linkNum number of the link in the OPTIN board represented by this object

Definition at line 104 of file pit_driver_opticalLink.cpp.

References foChannel, getBoardNumber(), linkNumber, logDriverOpticalLink, and NUMBER_FO_CHANNELS.

Referenced by pit_driver::getFoChannelFromStream().

void pit_driver_opticalLink::refreshDetectorCoordinates (  ) 

Method to refresh the detector coordinates.

queries the configuration manager class

Definition at line 131 of file pit_driver_opticalLink.cpp.

References pit_driver_optinBoard::getBoardNumber(), pit_configuration::getHalfStave(), pit_configuration::getInstance(), pit_configuration::getSector(), pit_configuration::getSide(), half_stave, linkNumber, motherOptinBoard, sector, and side.

Referenced by pit_driver_opticalLink().

UInt32 pit_driver_opticalLink::refreshLinkSetting (  ) 

read,decode and update services connected to the setting register

Definition at line 246 of file pit_driver_opticalLink.cpp.

References decodeLinkSetting(), and readLinkSetting().

Referenced by pit_driver_opticalLink(), readEnUdFastors(), readFoMask(), readLinkDelay(), readUdfFoPattern(), and refresh().

UInt32 pit_driver_opticalLink::refreshLinkStatus (  ) 

read,decode and update services connected to the status register

Definition at line 222 of file pit_driver_opticalLink.cpp.

References decodeLinkStatus(), readLinkStatus(), and refreshStatusServices().

Referenced by pit_driver::executeCommand(), readLinkActive(), readLinkLocked(), readLinkPhase(), and refresh().

bool pit_driver_opticalLink::refreshLinkRequired ( void   ) 

Retrieves from the configuration handler if this link is required in the present configuration.

This method does not access hardware. It queries the configuration handler object to determine if this link is required. It sets data member linkRequired. It refreshes the DIM service associated with linkRequired. It also returns the retrieved value.

Definition at line 144 of file pit_driver_opticalLink.cpp.

References pit_configuration::getInstance(), getLinkNumber(), pit_configuration::getLinkRequired(), linkRequired, and serviceLinkRequired.

Referenced by pit_driver_opticalLink(), refresh(), and refreshStatusServices().

bool pit_driver_opticalLink::readLinkActive ( void   )  throw (exception)

Access pit hardware, check if this link is active.

This method access hardware (if possible) to determine if this link is active. It sets accordingly data member linkActive on communication success, false on communication failure (as unknown). It refreshes the DIM service associated with linkActive. It also returns the retrieved value. It throws: exception (forwarding the one thrown by the lower methods) in case communication to hardware fails.

Definition at line 260 of file pit_driver_opticalLink.cpp.

References linkActive, and refreshLinkStatus().

bool pit_driver_opticalLink::readLinkLocked ( void   )  throw (exception)

Access pit hardware, check if this link is ready (locked).

This method access hardware (if possible) to determine if this link is ready (locked). It sets accordingly data member linkLocked on communication success, false on communication failure (as unknown). It refreshes the DIM service associated with linkLocked. It also returns the retrieved value. It throws: exception (forwarding the one thrown by the lower methods) in case communication to hardware fails.

Definition at line 253 of file pit_driver_opticalLink.cpp.

References linkLocked, and refreshLinkStatus().

int pit_driver_opticalLink::readLinkPhase ( void   )  throw (exception)

Access pit hardware, read measurement of link phase.

This method access hardware (if possible) to read the measurement of link phase (a field of the link status register). It sets on communication success data member linkPhase, otherwise linkPhase is set to -1. It also returns the retrieved value. It corresponds to a dedicated DIMCommand. It throws: exception (forwarding the one thrown by the comm layer) in case communication to hardware fails.

Definition at line 266 of file pit_driver_opticalLink.cpp.

References linkPhase, and refreshLinkStatus().

Referenced by pit_driver::executeCommand().

int pit_driver_opticalLink::readLinkDelay ( void   )  throw (exception)

Access pit hardware, read value of link delay.

This method access hardware (if possible) to read the measurement of link delay (a field of the link setting register). It sets on communication success data member linkDelay, otherwise linkDelay is set to -1. It also returns the retrieved value. It corresponds to a dedicated DIMCommand. It throws: exception (forwarding the one thrown by the comm layer) in case communication to hardware fails.

Definition at line 291 of file pit_driver_opticalLink.cpp.

References linkDelay, and refreshLinkSetting().

Referenced by pit_driver::executeCommand().

int pit_driver_opticalLink::writeLinkDelay ( int  p_linkDelay  )  throw (exception)

Access pit hardware, sets value of link delay.

This method access hardware (if possible) to set the link delay functionality (setting a field of the link setting register). It sets on communication success data member linkDelay, otherwise linkDelay is set to -1 . It corresponds to a dedicated DIMCommand. It throws: exception (forwarding the one thrown by the comm layer) in case communication to hardware fails.

Parameters:
p_linkDelay is the requested delay in units of 25 ns clock periods; if p_linkDelay is bigger than 3 the value 3 is set.
Returns:
delay value.

Definition at line 331 of file pit_driver_opticalLink.cpp.

References insertIntoUInt32().

Referenced by pit_driver::executeCommand().

int pit_driver_opticalLink::readFoMask ( void   )  throw (exception)

Access pit hardware, read value of chip mask field.

This method access hardware (if possible) to read the chip fo mask (a field of the link setting register). It sets on communication success data member foMask, otherwise foMask is set to -1 . It corresponds to a dedicated DIMCommand. It may throw an exception (forwarding the one thrown by the comm layer) in case communication to hardware fails.

Returns:
retrieved value.

Definition at line 273 of file pit_driver_opticalLink.cpp.

References foMask, and refreshLinkSetting().

Referenced by pit_driver::executeCommand().

int pit_driver_opticalLink::writeFoMask ( int  p_foMask  )  throw (exception)

Access pit hardware, sets value of chip mask field.

This method access hardware (if possible) to set the Fast-OR mask (setting a field of the link setting register). It sets on communication success data member foMask. It corresponds to a dedicated DIMCommand. It throws: exception (forwarding the one thrown by the comm layer) in case communication to hardware fails;

Parameters:
foMask Chip fast OR mask: 10 LS bits are considered.
Returns:
set value.

Definition at line 300 of file pit_driver_opticalLink.cpp.

References insertIntoUInt32().

int pit_driver_opticalLink::readUdfFoPattern ( void   )  throw (exception)

Access pit hardware, read value of chip user defined Fast-OR pattern.

This method access hardware (if possible) to read the chip User Defined Fast-OR pattern (a field of the link setting register). It sets on communication success data member udfFoPattern, otherwise udfFoPattern is set to -1. It corresponds to a dedicated DIMCommand. It throws: exception (forwarding the one thrown by the comm layer) in case communication to hardware fails.

Returns:
retrieved value.

Definition at line 285 of file pit_driver_opticalLink.cpp.

References refreshLinkSetting(), and udfFoPattern.

int pit_driver_opticalLink::writeUdfFoPattern ( int  p_udfFoPattern  )  throw (exception)

Access pit hardware, sets value of chip user defined Fast-OR pattern.

This method access hardware (if possible) to set the chip User Defined Fast-OR pattern (setting a field of the link setting register). It sets on communication success data member udfFoPattern, otherwise udfFoPattern is set to -1. It corresponds to a dedicated DIMCommand. It throws: exception (forwarding the one thrown by the comm layer) in case communication to hardware fails.

Parameters:
udfFoPattern Chip user defined fast-OR pattern: 10 LS bits are considered
Returns:
set value.

Definition at line 310 of file pit_driver_opticalLink.cpp.

References insertIntoUInt32().

int pit_driver_opticalLink::readSelfMaskingEnable ( void   )  throw (exception)

Access pit hardware, read value of chip self masking functionality enable field.

This method access hardware (if possible) to read the chip self masking functionality enable field (a field of the link setting register). Self masking is the functionality to filter Fast-OR pulses consecutive to a first one. It sets on communication success data member selfMaskingEnable, otherwise selfMaskingEnable is set to -1 (as unknown). It corresponds to a dedicated DIMCommand. It throws: exception (forwarding the one thrown by the comm layer) in case communication to hardware fails.

Returns:
retrieved value.

int pit_driver_opticalLink::writeSelfMaskingEnable ( int  p_selfMaskingEnable  )  throw (exception)

Access pit hardware, sets value of chip user defined Fast-OR pattern.

This method access hardware (if possible) to set the chip User Defined Fast-OR pattern (setting a field of the link setting register). It sets on communication success data member udfFoPattern, otherwise udfFoPattern is set to -1. It corresponds to a dedicated DIMCommand. It throws: exception (forwarding the one thrown by the comm layer) in case communication to hardware fails.

Parameters:
udfFoPattern Chip user defined fast-OR pattern: 10 LS bits are considered;
Returns:
set value.

Definition at line 321 of file pit_driver_opticalLink.cpp.

References insertIntoUInt32().

int pit_driver_opticalLink::readTimeStamp ( int  p_timeStampNumber  )  throw (exception)

Access pit hardware, read value of timestamp registers.

This method access hardware (if possible) to read one out of three timestamp registers associated to this link. It corresponds to a dedicated DIMCommand. It throws: exception (forwarding the one thrown by the comm layer) in case communication to hardware fails.

Parameters:
p_timeStampNumber [0,2] selects the timestamp register.
Returns:
retrieved value on communication success.

Definition at line 341 of file pit_driver_opticalLink.cpp.

References LINK_TIMESTAMP_OFFSET, and NumberTimeStamps.

int pit_driver_opticalLink::readErrorCounter ( void   )  throw (exception)

Access pit hardware, read value of error counter registers.

This method access hardware (if possible) to read the link optical communication error counter register. It corresponds to a dedicated DIMCommand. It throws: exception (forwarding the one thrown by the comm layer) in case communication to hardware fails.

Returns:
retrieved value on communication success.

Definition at line 351 of file pit_driver_opticalLink.cpp.

References commFEE, pit_driver_optinBoard::getBaseAddress(), LINK_ERROR_COUNTER_OFFSET, linkNumber, motherOptinBoard, and pit_comm::PITReadWord().

Referenced by pit_driver::executeCommand().

UInt28 pit_driver_opticalLink::getBoardBaseAdress ( void   )  const

gets the base address of the optin board this link belongs to

it was needed by the foChannel class so to get the counters addresses

Definition at line 368 of file pit_driver_opticalLink.cpp.

References pit_driver_optinBoard::getBaseAddress(), and motherOptinBoard.

Referenced by pit_driver_foChannel::readCounter().

bool pit_driver_opticalLink::isInnerLayer ( void   )  const

returns if this optical link is inner or outer layer

Definition at line 360 of file pit_driver_opticalLink.cpp.

References half_stave, and NUMBER_HSTAVE_INNER.

Referenced by pit_driver_foChannel::isRateValid().

int pit_driver_opticalLink::refresh (  ) 

refreshes all status members, services and call the refresh of all children

Definition at line 117 of file pit_driver_opticalLink.cpp.

References NUMBER_FO_CHANNELS, refreshLinkRequired(), refreshLinkSetting(), and refreshLinkStatus().

int pit_driver_opticalLink::writeEnUdFastors ( bool  enable  ) 

writes the enbale bit to enable/disable the user defined fastors

Definition at line 370 of file pit_driver_opticalLink.cpp.

References insertIntoUInt32(), readLinkSetting(), and writeLinkSetting().

Referenced by pit_driver::executeCommand().

bool pit_driver_opticalLink::readEnUdFastors (  ) 

Definition at line 379 of file pit_driver_opticalLink.cpp.

References refreshLinkSetting(), and udfEnable.

Referenced by pit_driver::executeCommand().


Member Data Documentation

unsigned int pit_driver_opticalLink::linkNumber [private]

Number of this link in the OPTIN board.

Definition at line 39 of file pit_driver_opticalLink.h.

Referenced by getFoChannel(), pit_driver_opticalLink(), readErrorCounter(), readLinkSetting(), readLinkStatus(), and refreshDetectorCoordinates().

pit_driver_optinBoard* pit_driver_opticalLink::motherOptinBoard [private]

Pointer to parent optinBoard to which this link belongs to, initialized in the contructor.

Definition at line 40 of file pit_driver_opticalLink.h.

Referenced by getBoardBaseAdress(), getBoardNumber(), pit_driver_opticalLink(), readErrorCounter(), readLinkSetting(), readLinkStatus(), and refreshDetectorCoordinates().

t_sideCoord pit_driver_opticalLink::side [private]

Detector coordinate, physical SPD side where the MCM modeled by this object is.

Definition at line 43 of file pit_driver_opticalLink.h.

Referenced by pit_driver_opticalLink(), and refreshDetectorCoordinates().

unsigned int pit_driver_opticalLink::sector [private]

Detector coordinate, physical SPD sector where the MCM modeled by this object is.

Definition at line 44 of file pit_driver_opticalLink.h.

Referenced by getSide(), pit_driver_opticalLink(), and refreshDetectorCoordinates().

unsigned int pit_driver_opticalLink::half_stave [private]

Detector coordinate, physical SPD half stave where the MCM modeled by this object is.

Definition at line 45 of file pit_driver_opticalLink.h.

Referenced by getSector(), isInnerLayer(), pit_driver_opticalLink(), and refreshDetectorCoordinates().

pit_driver_foChannel* pit_driver_opticalLink::foChannel[NUMBER_FO_CHANNELS] [private]

Pointers to 10 children foChannel objects.

The pointers of this array allow access to the 10 objects representing the Fast OR channels (i.e. chips) received on the link represented by this opticalLink object

Definition at line 51 of file pit_driver_opticalLink.h.

Referenced by getFoChannel(), pit_driver_opticalLink(), and ~pit_driver_opticalLink().

pit_comm* pit_driver_opticalLink::commFEE [private]

Pointer to the hardware communication object.

This is a pointer to the instance of pit_comm that is implementing the communication via DDL. This must be initialized (in the constructor) and is then used by this class methods to access hardware.

Definition at line 58 of file pit_driver_opticalLink.h.

Referenced by pit_driver_opticalLink(), readErrorCounter(), readLinkSetting(), and readLinkStatus().

log4cpp::Category* pit_driver_opticalLink::logDriverOpticalLink [private]

Pointer to the logger object.

Definition at line 61 of file pit_driver_opticalLink.h.

Referenced by decodeLinkSetting(), getFoChannel(), and pit_driver_opticalLink().

int pit_driver_opticalLink::linkRequired [private]

Is the optical link required by configuration?

DIM service "PIT\SIDE_x\SECTOR_n\HALF_STAVE_m\REQUIRED" is associated with this

Definition at line 72 of file pit_driver_opticalLink.h.

Referenced by pit_driver_opticalLink(), and refreshLinkRequired().

DimService* pit_driver_opticalLink::serviceLinkRequired [private]

Definition at line 74 of file pit_driver_opticalLink.h.

Referenced by pit_driver_opticalLink(), refreshLinkRequired(), and ~pit_driver_opticalLink().

int pit_driver_opticalLink::linkActive [private]

Is the optical link active?

DIM service "PIT\SIDE_x\SECTOR_n\HALF_STAVE_m\ACTIVE" is associated with this

Definition at line 78 of file pit_driver_opticalLink.h.

Referenced by decodeLinkStatus(), pit_driver_opticalLink(), and readLinkActive().

DimService* pit_driver_opticalLink::serviceLinkActive [private]

Dim service publishing the link active status bit.

this will be updated on every change in the hardware

Definition at line 82 of file pit_driver_opticalLink.h.

Referenced by pit_driver_opticalLink(), refreshStatusServices(), and ~pit_driver_opticalLink().

int pit_driver_opticalLink::linkLocked [private]

Status member, is the optical link ready (locked)?

DIM service "PIT\SIDE_x\SECTOR_n\HALF_STAVE_m\LOCKED" is associated with this

Definition at line 86 of file pit_driver_opticalLink.h.

Referenced by decodeLinkStatus(), pit_driver_opticalLink(), and readLinkLocked().

DimService* pit_driver_opticalLink::serviceLinkLocked [private]

DIM service connecte to linkLocked.

Definition at line 89 of file pit_driver_opticalLink.h.

Referenced by pit_driver_opticalLink(), refreshStatusServices(), and ~pit_driver_opticalLink().

int pit_driver_opticalLink::linkPhase [private]

Phase of communication incoming from MCM (units: 25 ns clock periods; range: 0,3; -1 error).

This is the delay (nnumber of 25 ns clock perdiods) between the pit internal master timing clock and the received MCM communication stream, starting with transmission slot 0. It is measured in the pit. 0 means slot 0 arrives simultaneously to master clock pulse; 1, 2, 3 means that slot 0 is 1, 2 or 3 preiods after master clock pulse. NO DIM service is associated with this

Definition at line 97 of file pit_driver_opticalLink.h.

Referenced by decodeLinkStatus(), and readLinkPhase().

int pit_driver_opticalLink::linkDelay [private]

Delay added to the communication stream incoming from MCM (units: 25 ns clock periods; range: 0,3; -1 error).

NO DIM service is associated with this

Definition at line 101 of file pit_driver_opticalLink.h.

Referenced by decodeLinkSetting(), and readLinkDelay().

int pit_driver_opticalLink::foMask [private]

FastOR mask functionality. 10 LS bits associated to each chip. -1 error.

NO DIM service is associated with this.

Definition at line 106 of file pit_driver_opticalLink.h.

Referenced by decodeLinkSetting(), getHalfStave(), and readFoMask().

int pit_driver_opticalLink::udfFoPattern [private]

User defined FastOR pattern functionality. 10 LS bits associated to each chip.

NO DIM service is associated with this.

Definition at line 111 of file pit_driver_opticalLink.h.

Referenced by decodeLinkSetting(), getFoMask(), and readUdfFoPattern().

bool pit_driver_opticalLink::udfEnable [private]

user defined fastors enable bit (1 for all 10 fastors channels in one optical link)

NO DIM service is associated with this.

Definition at line 118 of file pit_driver_opticalLink.h.

Referenced by decodeLinkSetting(), and readEnUdFastors().


The documentation for this class was generated from the following files:
Generated on Sat Mar 29 22:55:56 2008 for pixelTrigger by  doxygen 1.5.0