CVmeModule Class Reference

#include <VmeModule.h>

Inheritance diagram for CVmeModule:

CCaenIO CNimout List of all members.

Public Types

enum  Space {
  a16d16 = 0, a24d16 = 1, a24d32 = 2, a32d32 = 3,
  geo = 4
}

Public Member Functions

 CVmeModule (Space space, UInt_t base, UInt_t length, int nCrate=0)
 CVmeModule (const CVmeModule &aCVmeModule)
virtual ~CVmeModule ()
CVmeModuleoperator= (const CVmeModule &aCVmeModule)
int operator== (const CVmeModule &aCVmeModule)
UChar_t peekb (UInt_t offset=0)
UShort_t peekw (UInt_t offset=0)
ULong_t peekl (UInt_t offset=0)
void pokeb (UChar_t byte, UInt_t nOffset)
void pokew (UShort_t word, UInt_t nOffset)
void pokel (ULong_t lword, UInt_t nOffset)
UInt_t readl (void *pBuffer, UInt_t nOffset, size_t longs)
UInt_t readw (void *pBuffer, UInt_t nOffset, size_t words)
UInt_t readb (void *pBuffer, UInt_t nOffset, size_t bytes)

Protected Member Functions

void CopyToMe (const CVmeModule &rModule)

Detailed Description

Definition at line 306 of file VmeModule.h.


Member Enumeration Documentation

enum CVmeModule::Space

Enumerator:
a16d16 
a24d16 
a24d32 
a32d32 
geo 

Definition at line 309 of file VmeModule.h.


Constructor & Destructor Documentation

static const CVmeModule::CVmeModule ( Space  space,
UInt_t  base,
UInt_t  length,
int  nCrate = 0 
)

Definition at line 358 of file VmeModule.cpp.

CVmeModule::CVmeModule ( const CVmeModule aCVmeModule  ) 

Definition at line 411 of file VmeModule.cpp.

References CopyToMe().

virtual CVmeModule::~CVmeModule (  )  [inline, virtual]

Definition at line 338 of file VmeModule.h.


Member Function Documentation

CVmeModule & CVmeModule::operator= ( const CVmeModule aCVmeModule  ) 

Definition at line 429 of file VmeModule.cpp.

References CopyToMe().

Referenced by CNimout::operator=(), and CCaenIO::operator=().

int CVmeModule::operator== ( const CVmeModule aCVmeModule  ) 

Definition at line 449 of file VmeModule.cpp.

UChar_t CVmeModule::peekb ( UInt_t  offset = 0  ) 

Definition at line 475 of file VmeModule.cpp.

UShort_t CVmeModule::peekw ( UInt_t  offset = 0  ) 

Definition at line 510 of file VmeModule.cpp.

Referenced by CNimout::AndRegister(), CCAENV1x90::BoardProperties(), CAENcard::Busy(), CAENcard_767::cardType(), CADC2530::cardType(), CAENcard::channelOff(), CAENcard::channelOn(), CADC2530::checkCard(), CNimout::ClearBit(), CNimout::ClearCBit(), CNimout::ClearTBit(), CCAENV977::controlRegister(), CAENcard_767::dataPresent(), CAENcard::dataPresent(), CCAENV1x90::EventCount(), CCAENV1x90::EventFIFOCount(), CCAENV977::firmwareLevel(), CAENcard::gBusy(), CAENcard::gdataPresent(), CCAENV1x90::GetAlmostFullLevel(), CAENcard::getCrate(), CADC2530::getCSR(), CADC2530::getCTR(), CCAENV1x90::GetECLOutputDefinition(), CADC2530::getEventCounter(), CAENcard::getFirmware(), CADC2530::getFullnessFlags(), CCAENV1x90::GetGeographicalID(), CADC2530::getInterruptMask(), CADC2530::getInterruptVector(), CADC2530::getListAddress(), CADC2530::getLLD(), CAENcard_767::getSr2(), CADC2530::getSSTR(), CADC2530::getULD(), CCAENV977::inputMask(), CCAENV977::inputRead(), CCAENV977::inputSet(), CCAENV977::interruptMask(), CCAENV1x90::isEventFIFOFull(), CCAENV1x90::isEventFIFOReady(), CADC2530::manufacturerId(), CAENcard::MapCard(), CAENcard::MEBEmpty(), CAENcard::MEBFull(), CAENcard_767::mfgId(), CNimout::ModuleReady(), CCAENV977::multihitRead(), CCAENV977::multiHitReadAndClear(), CAENcard_767::opcodeWait(), CNimout::OrRegister(), CCAENV977::outputMask(), CCAENV977::outputSet(), CCAENV1x90::ReadCR(), CCaenIO::ReadInput(), CCaenIO::ReadInputs(), CCAENV1x90::ReadMicro(), CAENcard_767::readOpcode(), CCAENV1x90::ReadPromLong(), CNimout::ReadRegister(), CCAENV977::serialNumber(), CNimout::SetBit(), CAENcard::setCrate(), CADC2530::setMemoryOffset(), CNimout::SetStrobeLength(), CNimout::SetTBit(), CAENcard::setThreshold(), CCAENV977::singleHitRead(), CCAENV977::singleHitReadAndClear(), CAENcard_767::slotInit(), CCAENV1x90::SR(), CNimout::TBitSet(), CCAENV977::testControlRegister(), CCAENV1x90::ValidBoard(), and CCAENV1x90::WaitMicroWrite().

ULong_t CVmeModule::peekl ( UInt_t  offset = 0  ) 

Definition at line 548 of file VmeModule.cpp.

Referenced by CVMEScalerLRS1151::Clear(), CModule32::peek(), CAENcard_767::readEvent(), CCAENV1x90::ReadEventFIFO(), CCAENV1x90::ReadPacket(), CCAENV1x90::ReadValid(), and CCAENV1x90::TriggerCount().

void CVmeModule::pokeb ( UChar_t  byte,
UInt_t  nOffset 
)

Definition at line 585 of file VmeModule.cpp.

void CVmeModule::pokew ( UShort_t  word,
UInt_t  nOffset 
)

Definition at line 616 of file VmeModule.cpp.

Referenced by CNimout::AndRegister(), CAENcard::Bitclear1(), CAENcard::Bitclear2(), CAENcard::Bitset1(), CAENcard::Bitset2(), CAENcard::channelOff(), CAENcard::channelOn(), CCAENV1x90::Clear(), CNimout::ClearAll(), CCaenIO::ClearAll(), CNimout::ClearBit(), CNimout::ClearCBit(), CAENcard_767::clearData(), CCaenIO::ClearECL(), CADC2530::clearEventCounter(), CADC2530::clearFullnessFlags(), CCaenIO::ClearLevel(), CADC2530::clearListAddress(), CNimout::ClearTBit(), CCAENV977::controlRegister(), CCAENV1x90::DefineECLOutput(), CCAENV1x90::EventReset(), CVMEScalerLRS1151::Initialize(), CCAENV977::inputMask(), CCAENV977::inputSet(), CCAENV977::interruptMask(), CAENcard::MapCard(), CNimout::OrRegister(), CCAENV977::outputClear(), CCAENV977::outputMask(), CCAENV977::outputSet(), CCaenIO::PulseOutput(), CCAENV977::Reset(), CCAENV1x90::Reset(), CAENcard_767::reset(), CADC2530::resetCSRbits(), CADC2530::resetCTRbits(), CAENcard::resetEventCounter(), CCAENV1x90::SetAlmostFullLevel(), CNimout::SetBit(), CAENcard::SetCBLTChainMembership(), CAENcard::setCrate(), CADC2530::setCSR(), CADC2530::setCSRbits(), CADC2530::setCTR(), CADC2530::setCTRbits(), CCaenIO::SetECL(), CAENcard::setFastClearWindow(), CCAENV1x90::SetGeographicalID(), CADC2530::setInterruptMask(), CADC2530::setInterruptVector(), CCaenIO::SetLevel(), CADC2530::setLLD(), CADC2530::setMemoryOffset(), CAENcard::setPedestalCurrent(), CAENcard::setRange(), CADC2530::setSSTR(), CNimout::SetStrobeLength(), CNimout::SetTBit(), CAENcard::setThreshold(), CADC2530::setULD(), CAENcard_767::slotInit(), CCAENV977::testControlRegister(), CCAENV1x90::Trigger(), CCAENV1x90::WriteCR(), CCAENV1x90::WriteMicro(), CAENcard_767::writeOpcode(), and CAENcard_767::~CAENcard_767().

void CVmeModule::pokel ( ULong_t  lword,
UInt_t  nOffset 
)

Definition at line 649 of file VmeModule.cpp.

Referenced by CADC2530::clearHistogramMemory(), CADC2530::clearMemory(), and CModule32::poke().

UInt_t CVmeModule::readl ( void *  pBuffer,
UInt_t  nOffset,
size_t  longs 
)

Read a block of longwords from the VME. At present, we assume that for mapped interfaces, transfers are faster if done under programmed control. In future releases we may need to think about a threshold above which we ask the driver to do the transfers for us. The real motiviation for this function are the devices that do not have mapping... for them it's almost certain, that letting the driver do the block transfer is better than us doing it since the driver overhead will be amortized over the transfer count.

Parameters:
pBuffer - The target of the transfer. This buffer must be at least longs*sizeof(long) large.
nOffset - The longword offset into the region represented by this class.
longs - The number of longwords to transfer.
Returns:
UInt_t
Return values:
number of longs transferred if everything worked or some device dependent result.

Definition at line 708 of file VmeModule.cpp.

Referenced by CAENcard::ReadBufferBlock().

UInt_t CVmeModule::readw ( void *  pBuffer,
UInt_t  nOffset,
size_t  words 
)

Read a block of words from the VME. At present, we assume that for mapped interfaces, transfers are faster if done under programmed control. In future releases we may need to think about a threshold above which we ask the driver to do the transfers for us. The real motiviation for this function are the devices that do not have mapping... for them it's almost certain, that letting the driver do the block transfer is better than us doing it since the driver overhead will be amortized over the transfer count.

Parameters:
pBuffer - The target of the transfer. This buffer must be at least longs*sizeof(UShort_t) large.
nOffset - The word offset into the region represented by this class.
words - The number of words to transfer.
Returns:
UInt_t
Return values:
number of words transferred if everything worked or some device dependent result.

Definition at line 755 of file VmeModule.cpp.

UInt_t CVmeModule::readb ( void *  pBuffer,
UInt_t  nOffset,
size_t  bytes 
)

Read a block of bytes from the VME. At present, we assume that for mapped interfaces, transfers are faster if done under programmed control. In future releases we may need to think about a threshold above which we ask the driver to do the transfers for us. The real motiviation for this function are the devices that do not have mapping... for them it's almost certain, that letting the driver do the block transfer is better than us doing it since the driver overhead will be amortized over the transfer count.

Parameters:
pBuffer - The target of the transfer. This buffer must be at least longs bytes large.
nOffset - The byte offset into the region represented by this class.
bytes - The number of bytes to transfer.
Returns:
UInt_t
Return values:
number of bytes transferred if everything worked or some device dependent result.

Definition at line 799 of file VmeModule.cpp.

void CVmeModule::CopyToMe ( const CVmeModule rModule  )  [protected]

Utility function to copy an object to me.

Definition at line 671 of file VmeModule.cpp.

Referenced by CVmeModule(), and operator=().


The documentation for this class was generated from the following files:
Generated on Wed Sep 17 08:38:11 2008 for NSCL Device support. by  doxygen 1.5.1