Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

CNimout Class Reference

#include <Nimout.h>

Inheritance diagram for CNimout:

CVmeModule List of all members.

Public Types

enum  Register { DATA, STROBE, TIMING, CONTROL }

Public Methods

 CNimout (UInt_t base, UInt_t length)
 CNimout (CVME< UShort_t > &am_CVME)
 CNimout (const CNimout &aCNimout)
virtual ~CNimout ()
CNimout & operator= (const CNimout &aCNimout)
Int_t operator== (const CNimout &aCNimout)
void ClearAll ()
void WriteRegister (Register reg, UShort_t pattern)
Bool_t SetStrobeLength (DFloat_t time_in_ns)
void StrobeAll ()
void OrRegister (Register reg, UShort_t or_pattern)
void AndRegister (Register reg, UShort_t and_pattern)
Bool_t SetBit (Register reg, UInt_t bit_num)
Bool_t ClearBit (Register reg, UInt_t bit_num)
void TransferData ()
void SetTBit ()
void ClearCBit ()
void ClearTBit ()
UShort_t ReadRegister (Register reg)
Bool_t ModuleReady ()
Bool_t TBitSet ()
void PrintAll ()

Member Enumeration Documentation

enum CNimout::Register
 

Enumeration values:
DATA 
STROBE 
TIMING 
CONTROL 

Definition at line 311 of file Nimout.h.


Constructor & Destructor Documentation

CNimout::CNimout UInt_t    base,
UInt_t    length
 

Definition at line 308 of file Nimout.cpp.

CNimout::CNimout CVME< UShort_t > &    am_CVME
 

Definition at line 322 of file Nimout.cpp.

CNimout::CNimout const CNimout &    aCNimout
 

Definition at line 335 of file Nimout.cpp.

virtual CNimout::~CNimout   [inline, virtual]
 

Definition at line 326 of file Nimout.h.


Member Function Documentation

void CNimout::AndRegister Register    reg,
UShort_t    and_pattern
 

Purpose: Logically and's the bit pattern held by register 'reg' with the parameter and_pattern. Throws a CRangeError exception if there is a range error.

Parameters:
Register  reg - enumeration indicating which register to 'and' UShort_t and_pattern - the bit pattern to and with the pattern contained in the register 'reg'.

Definition at line 516 of file Nimout.cpp.

References CVmeModule::peekw(), and CVmeModule::pokew().

void CNimout::ClearAll  
 

Purpose: Clears all contents of all registers

Definition at line 380 of file Nimout.cpp.

References CONTROL, DATA, CVmeModule::pokew(), STROBE, and TIMING.

Bool_t CNimout::ClearBit Register    reg,
UInt_t    bit_num
 

Definition at line 570 of file Nimout.cpp.

References CVmeModule::peekw(), and CVmeModule::pokew().

void CNimout::ClearCBit  
 

Purpose: Deasserts the C bit of the control/status register.

Definition at line 626 of file Nimout.cpp.

References CONTROL, CVmeModule::peekw(), and CVmeModule::pokew().

void CNimout::ClearTBit  
 

Purpose: Deasserts the timing bit (T) of the control/status register.

Definition at line 639 of file Nimout.cpp.

References CONTROL, CVmeModule::peekw(), and CVmeModule::pokew().

Bool_t CNimout::ModuleReady  
 

Purpose: Reads the contents of register CONTROL and determines whether or not the control/status bit is set. Returns 1 if it is not set.

Returns:
The value of the control/status bit (1 or 0)

Definition at line 680 of file Nimout.cpp.

References CONTROL, and CVmeModule::peekw().

CNimout & CNimout::operator= const CNimout &    aCNimout
 

Definition at line 349 of file Nimout.cpp.

References CVmeModule::operator=().

Int_t CNimout::operator== const CNimout &    aCNimout
 

Purpose: operator== Equality operator.

Parameters:
const  CNimout& aCNimout - the object to check for equality with
Returns:
1 if they are equal 0 if they are not equal

Definition at line 368 of file Nimout.cpp.

References CVmeModule::operator==().

void CNimout::OrRegister Register    reg,
UShort_t    or_pattern
 

Definition at line 492 of file Nimout.cpp.

References CVmeModule::peekw(), and CVmeModule::pokew().

void CNimout::PrintAll  
 

Definition at line 708 of file Nimout.cpp.

References CONTROL, DATA, ReadRegister(), STROBE, and TIMING.

UShort_t CNimout::ReadRegister Register    reg
 

Purpose: Reads the contents of register 'reg' from the Bira Nimout and returns the result. Throws a CRangeError exception if there is a range error.

Parameters:
Register  reg - the register enumeration indicating the register to read from.
Returns:
The contents of the register

Definition at line 659 of file Nimout.cpp.

References CVmeModule::peekw().

Referenced by PrintAll().

Bool_t CNimout::SetBit Register    reg,
UInt_t    bit_num
 

Definition at line 542 of file Nimout.cpp.

References CVmeModule::peekw(), and CVmeModule::pokew().

Bool_t CNimout::SetStrobeLength DFloat_t    time_in_ns
 

Purpose: Sets the strobe timing register to a value which corresponds to the parameter in nanoseconds. This may require a write to the T bit of the control status register.

Note: The smallest possible value for time_in_ns is 62.5nS, and all possible values are multiples of 62.5nS (if the T bit is deasserted) or 4096uS (if the T bit is high). If the parameter is NOT an even multiple of 62.5 (or 4096), then the time will be ROUNDED to the nearest multiple of 62.5 (or 4096). If the nearest multiple is 0 or is greater than 268.43136sec, then function returns the value 0.

Parameters:
DFloat_t  time_in_ns - the time (in nanoseconds) to set the strobe timing register to.
Returns:
1 if the function was successful 0 if the function was unsuccessful (see above note)

Definition at line 433 of file Nimout.cpp.

References CONTROL, CVmeModule::peekw(), CVmeModule::pokew(), and TIMING.

void CNimout::SetTBit  
 

Purpose: Asserts the T bit of the Control Status Register. When the T bit is low, the bit weight of the register is 62.5ns, and full scale is 4096us. When the T bit is high, the bit weight of the register is 4096us, and full scale is 268.43146 sec.

Definition at line 613 of file Nimout.cpp.

References CONTROL, CVmeModule::peekw(), and CVmeModule::pokew().

void CNimout::StrobeAll  
 

Definition at line 474 of file Nimout.cpp.

References CVmeModule::pokew(), and STROBE.

Bool_t CNimout::TBitSet  
 

Purpose: Reads the contents of register CONTROL and determines whether or not the timing bit is set. Returns 1 if the timing bit is set.

Returns:
The value of the timing bit (1 or 0)

Definition at line 696 of file Nimout.cpp.

References CONTROL, and CVmeModule::peekw().

void CNimout::TransferData  
 

Purpose: Asserts the C/S bit of the Control Status Register. Data is transferred when the C/S bit is set. The module is ready for new data when the status bit reads zero.

Definition at line 596 of file Nimout.cpp.

References CONTROL, CVmeModule::peekw(), and CVmeModule::pokew().

void CNimout::WriteRegister Register    reg,
UShort_t    pattern
 

Definition at line 400 of file Nimout.cpp.

References CVmeModule::pokew().


The documentation for this class was generated from the following files:
Generated on Fri Nov 8 13:37:17 2002 for Event Readout system. by doxygen1.2.16