SLAC PEP-II
BABAR
SLAC<->RAL
Babar logo
HEPIC E,S & H Databases PDG HEP preprints
Organization Detector Computing Physics Documentation
Personnel Glossary Sitemap Search Hypernews
Unwrap page!
Det. Search
Who's who?
Meetings
FAQ
Images
Archive
Systems
Performance
Intern. region
Vertex Tracker
Drift chamber
DIRC
Calorimeter
IFR
LST
Magnet
Electronics
Trigger
Operations
Run Coordination
Contact Experts
Shift Takers Info
Operations Manual
Electronic Logbook
Ops Hypernews
Shift Signup
Check this page for HTML 4.01 Transitional compliance with the
W3C Validator
(More checks...)
Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

L1DOdfRead Class Reference

#include <L1DOdfRead.hh>

Inheritance diagram for L1DOdfRead:

odfRead odfRequest odfRoutine odfEntry L1DRead< opcode, adr, length, fixlength, addwriter, odfElementIterator > L1DRead< odfSubSysCmnd::opcode18, odfSubSysCmnd::adr0,(L1DOdfConstants::MaxLongReadBlockBuffSize+1)*4, 0, L1DctAddressVariableBlockReadWriter< L1DAddressAndNShortWordsWriter >, L1DctElementIteratorShort > L1DBlockVarShortReader List of all members.

Public Member Functions

 L1DOdfRead (odfTask *task)
 Commands are attached to an odfTask.

odfTask * task ()
 odfRead pure virtual methods, returns the odfTask who will execute that command

odfRequest::Directions done ()
virtual unsigned lengthIsFixed () const=0
 return=1 means writing length is fixed, return=0 means length can vary

virtual L1DctOdfElementIteratorread (unsigned long clink, unsigned long dlink, long int address=-1)=0

Protected Member Functions

void issue ()
 issue the command


Private Attributes

odfTask * _task
 pointer to the odfTask who will execute the command

odfSemaphore _barrier
 the semaphore is used to ensure that the data are not overwritten until the command has been sent to the board(s)


Detailed Description

Base class for board reading. This class manages task and semaphore and defines pure virtual methods to define the interface

Definition at line 24 of file L1DOdfRead.hh.


Constructor & Destructor Documentation

L1DOdfRead::L1DOdfRead odfTask *    task
 

Commands are attached to an odfTask.

Definition at line 13 of file L1DOdfRead.cc.


Member Function Documentation

odfRequest::Directions L1DOdfRead::done   [inline, virtual]
 

odfRead pure virtual methods, executed after the command has been sent. This is not executed by the same thread so any L1DOdfWriteBlock derived object should be somehow permanent (static or else)

Implements odfRequest.

Definition at line 68 of file L1DOdfRead.hh.

References _barrier, and odfRequest::Ignore.

void L1DOdfRead::issue   [inline, protected]
 

issue the command

Definition at line 73 of file L1DOdfRead.hh.

References _barrier, and odfRead::post().

Referenced by L1DRead< opcode, adr, length, fixlength, addwriter, odfElementIterator >::read().

virtual unsigned L1DOdfRead::lengthIsFixed   const [pure virtual]
 

return=1 means writing length is fixed, return=0 means length can vary

Implemented in L1DRead< opcode, adr, length, fixlength, addwriter, odfElementIterator >, L1DRead< odfSubSysCmnd::opcode29, odfSubSysCmnd::adr1, 8, 1, L1DctDummyAddressWriter, L1DctElementIteratorLong >, BlockBuffSize+1)*sizeof(long), 1, L1DctAddressWriter< L1DOdfConstants::BlockBuffSize+1 >, L1DctElementIteratorUnpackedShort, L1DRead< odfSubSysCmnd::opcode25, odfSubSysCmnd::adr0, 4, 1, L1DctAddressWriter< 1 >, L1DctElementIteratorUnpackedShort >, MaxLongReadBlockBuffSize+1)*4, 0, L1DctAddressVariableBlockReadWriter< L1DAddressAndNLongWordsWriter >, L1DctElementIteratorLong, L1DRead< odfSubSysCmnd::opcode29, odfSubSysCmnd::adr5, 8, 1, L1DctDummyAddressWriter, L1DctElementIteratorLong >, L1DRead< odfSubSysCmnd::opcode18, odfSubSysCmnd::adr0,(L1DOdfConstants::MaxLongReadBlockBuffSize+1)*4, 0, L1DctAddressVariableBlockReadWriter< L1DAddressAndNShortWordsWriter >, L1DctElementIteratorShort >, L1DRead< odfSubSysCmnd::opcode29, odfSubSysCmnd::adr2, 8, 1, L1DctDummyAddressWriter, L1DctElementIteratorLong >, L1DRead< odfSubSysCmnd::opcode24, odfSubSysCmnd::adr1, 8, 1, L1DctAddressIncrementWriter, L1DctElementIteratorLong >, L1DRead< odfSubSysCmnd::opcode24, odfSubSysCmnd::adr0, 4, 1, L1DctAddressIncrementWriter, L1DctElementIteratorUnpackedShort >, and L1DRead< odfSubSysCmnd::opcode25, odfSubSysCmnd::adr1, 8, 1, L1DctAddressWriter< 1 >, L1DctElementIteratorLong >.

Referenced by L1DctMemory::Compare(), and L1DctMemory::loadFromBoard().

virtual L1DctOdfElementIterator& L1DOdfRead::read unsigned long    clink,
unsigned long    dlink,
long int    address = -1
[pure virtual]
 

send read command to C-link pattern clink. Read the results on D-link pattern dlink read data at address address, if address<0, read next unread address (in a successive reading) returns data in a L1DctOdfElementIterator.

Implemented in L1DRead< opcode, adr, length, fixlength, addwriter, odfElementIterator >, L1DBlockVarShortReader, L1DRead< odfSubSysCmnd::opcode29, odfSubSysCmnd::adr1, 8, 1, L1DctDummyAddressWriter, L1DctElementIteratorLong >, BlockBuffSize+1)*sizeof(long), 1, L1DctAddressWriter< L1DOdfConstants::BlockBuffSize+1 >, L1DctElementIteratorUnpackedShort, L1DRead< odfSubSysCmnd::opcode25, odfSubSysCmnd::adr0, 4, 1, L1DctAddressWriter< 1 >, L1DctElementIteratorUnpackedShort >, MaxLongReadBlockBuffSize+1)*4, 0, L1DctAddressVariableBlockReadWriter< L1DAddressAndNLongWordsWriter >, L1DctElementIteratorLong, L1DRead< odfSubSysCmnd::opcode29, odfSubSysCmnd::adr5, 8, 1, L1DctDummyAddressWriter, L1DctElementIteratorLong >, L1DRead< odfSubSysCmnd::opcode18, odfSubSysCmnd::adr0,(L1DOdfConstants::MaxLongReadBlockBuffSize+1)*4, 0, L1DctAddressVariableBlockReadWriter< L1DAddressAndNShortWordsWriter >, L1DctElementIteratorShort >, L1DRead< odfSubSysCmnd::opcode29, odfSubSysCmnd::adr2, 8, 1, L1DctDummyAddressWriter, L1DctElementIteratorLong >, L1DRead< odfSubSysCmnd::opcode24, odfSubSysCmnd::adr1, 8, 1, L1DctAddressIncrementWriter, L1DctElementIteratorLong >, L1DRead< odfSubSysCmnd::opcode24, odfSubSysCmnd::adr0, 4, 1, L1DctAddressIncrementWriter, L1DctElementIteratorUnpackedShort >, and L1DRead< odfSubSysCmnd::opcode25, odfSubSysCmnd::adr1, 8, 1, L1DctAddressWriter< 1 >, L1DctElementIteratorLong >.

Referenced by L1DctMemory::Compare(), L1DctMemory::loadFromBoard(), and L1DCrate::readAndStore().

odfTask * L1DOdfRead::task   [inline, virtual]
 

odfRead pure virtual methods, returns the odfTask who will execute that command

Implements odfRequest.

Definition at line 63 of file L1DOdfRead.hh.

References _task.

Referenced by L1DBlockVarShortReader::L1DBlockVarShortReader().


Member Data Documentation

odfSemaphore L1DOdfRead::_barrier [private]
 

the semaphore is used to ensure that the data are not overwritten until the command has been sent to the board(s)

Definition at line 57 of file L1DOdfRead.hh.

Referenced by done(), and issue().

odfTask* L1DOdfRead::_task [private]
 

pointer to the odfTask who will execute the command

Definition at line 55 of file L1DOdfRead.hh.

Referenced by task().


The documentation for this class was generated from the following files:
Generated on Thu Jun 5 20:55:52 2003 for L1DctTeststand by doxygen1.3-rc3