Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

CCAENV830Module Class Reference

#include <CCAENV830Module.h>

Inheritance diagram for CCAENV830Module:

Inheritance graph
[legend]
Collaboration diagram for CCAENV830Module:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 CCAENV830Module (const string &rName, CTCLInterpreter &rInterp)
virtual ~CCAENV830Module ()
virtual void Initialize ()
virtual void Prepare ()
virtual void Read (DAQWordBufferPtr &rBuffer)
virtual int Read (void *pBuffer)
virtual void Clear ()
virtual string getType () const
 Return module type string (pure virt).

 CCAENV830Module (const string &rName, CTCLInterpreter &rInterp)
virtual ~CCAENV830Module ()
virtual void Initialize ()
 Initialize the readable (pure virt.).

virtual void Prepare ()
 Prepare module for readout (pure virt.).

virtual void Read (DAQWordBufferPtr &rBuffer)
 Read to DAQ buf.

virtual int Read (void *pBuffer)
 Read to ordinary buf.

virtual void Clear ()
 Clear (after read e.g.).(Pure virt).

virtual string getType () const
 Return module type string (pure virt).


Private Member Functions

 CCAENV830Module (const CCAENV830Module &rhs)
CCAENV830Moduleoperator= (const CCAENV830Module &rhs)
int operator!= (const CCAENV830Module &rhs)
int operator== (const CCAENV830Module &rhs)
 CCAENV830Module (const CCAENV830Module &rhs)
CCAENV830Moduleoperator= (const CCAENV830Module &rhs)
int operator!= (const CCAENV830Module &rhs)
int operator== (const CCAENV830Module &rhs)

Private Attributes

CCAENV830m_pModule
 The module hardware driver.

int m_nId
 Packet id.

bool m_fHeader
 True if headers enabled.

bool m_fWide
 True if module reads are wide.

bool m_fManualClear
 True if manual clear needed.

bool m_fPacketize
 True if should add packet info.

bool m_fVmeTrigger
 True if trigger via VME.

unsigned long m_lEnables
 Channel enables mask.

int m_nCrate
 Crate of module.

int m_nSlot
 Slot of module.

CCAENV830m_pModule
 The module hardware driver.


Detailed Description

This class is a TCL Configuration manager for a CAEN v830 scaler (CCAENV830). The configuration commands currently understood are:

Since the module has modes in which it is not possible to mechanically decode it, if packetize is true, Read will insert additional information into the event stream:

Definition at line 364 of file CCAENV830Module.h.


Constructor & Destructor Documentation

CCAENV830Module::CCAENV830Module const string &  rName,
CTCLInterpreter &  rInterp
 

Construct a scaler module reader. This does not actually construct the underlying CCAENV830 module. Instead it constructs the configuration parameters for the module and defines them to the base class. The module driver itself will be constructed as a result of the Initialize() call.

Parameters:
rName (const string& [in]): Name to give to this module. This name will be registered to the interpreter as a command that can be used to configure the module.
rInterp (CTCLInterpreter& rInterp [in]): The interpreter on which this module will be registered as a command

Definition at line 302 of file CCAENV830Module.cpp.

References CConfigurableObject::AddBoolParam(), CDigitizerModule::AddIntArrayParam(), CDigitizerModule::AddIntParam(), CDigitizerModule::AddStringArrayParam(), CDigitizerModule::end(), CDigitizerModule::Find(), CDigitizerModule::ParameterIterator, CIntArrayParam::setRange(), and CIntConfigParam::setRange().

CCAENV830Module::~CCAENV830Module  )  [virtual]
 

Destruction of the module implies destruction of the card driver.

Definition at line 371 of file CCAENV830Module.cpp.

References m_pModule.

CCAENV830Module::CCAENV830Module const CCAENV830Module rhs  )  [private]
 

CCAENV830Module::CCAENV830Module const string &  rName,
CTCLInterpreter &  rInterp
 

virtual CCAENV830Module::~CCAENV830Module  )  [virtual]
 

CCAENV830Module::CCAENV830Module const CCAENV830Module rhs  )  [private]
 


Member Function Documentation

virtual void CCAENV830Module::Clear  )  [virtual]
 

Clear (after read e.g.).(Pure virt).

Implements CDigitizerModule.

void CCAENV830Module::Clear  )  [virtual]
 

Clear is not required on an event by event basis since it's done in read to minimize dropped counts.

Implements CDigitizerModule.

Definition at line 609 of file CCAENV830Module.cpp.

virtual string CCAENV830Module::getType  )  const [inline, virtual]
 

Return module type string (pure virt).

Implements CDigitizerModule.

Definition at line 400 of file include/CCAENV830Module.h.

virtual string CCAENV830Module::getType  )  const [inline, virtual]
 

Return module type string (pure virt).

Implements CDigitizerModule.

Definition at line 400 of file CCAENV830Module.h.

virtual void CCAENV830Module::Initialize  )  [virtual]
 

Initialize the readable (pure virt.).

Implements CDigitizerModule.

void CCAENV830Module::Initialize  )  [virtual]
 

Initialize the module. This means:

  • Destroying any existing module driver.
  • Recovering and processing the configuration so that we now how to build and configure a new module driver.
  • constructing a new module driver.

Implements CDigitizerModule.

Definition at line 385 of file CCAENV830Module.cpp.

References CCAENV830::Clear(), CCAENV830::DisableAutoReset(), CCAENV830::Disabled, CCAENV830::DisableHeader(), CCAENV830::EnableAutoReset(), CCAENV830::EnableHeader(), CDigitizerModule::Find(), CCAENV830::FPClearsMEB(), CBoolConfigParam::getOptionValue(), CIntConfigParam::getOptionValue(), m_fHeader, m_fManualClear, m_fPacketize, m_fVmeTrigger, m_fWide, m_lEnables, m_nCrate, m_nId, m_nSlot, m_pModule, CDigitizerModule::ParameterIterator, CCAENV830::Periodic, CCAENV830::Random, CCAENV830::SetEnableMask(), CCAENV830::SetNarrow(), CCAENV830::SetTriggerMode(), CCAENV830::SetWide(), and CCAENV830::TriggerMode.

int CCAENV830Module::operator!= const CCAENV830Module rhs  )  [private]
 

int CCAENV830Module::operator!= const CCAENV830Module rhs  )  [private]
 

CCAENV830Module& CCAENV830Module::operator= const CCAENV830Module rhs  )  [private]
 

CCAENV830Module& CCAENV830Module::operator= const CCAENV830Module rhs  )  [private]
 

int CCAENV830Module::operator== const CCAENV830Module rhs  )  [private]
 

int CCAENV830Module::operator== const CCAENV830Module rhs  )  [private]
 

virtual void CCAENV830Module::Prepare  )  [virtual]
 

Prepare module for readout (pure virt.).

Implements CDigitizerModule.

void CCAENV830Module::Prepare  )  [virtual]
 

Prepare to read an event (first or after the prior one). This is a NO-OP as the module does not need any resetting etc.

Implements CDigitizerModule.

Definition at line 522 of file CCAENV830Module.cpp.

virtual int CCAENV830Module::Read void *  pBuffer  )  [virtual]
 

Read to ordinary buf.

Implements CDigitizerModule.

virtual void CCAENV830Module::Read DAQWordBufferPtr &  rBuffer  )  [virtual]
 

Read to DAQ buf.

Implements CDigitizerModule.

int CCAENV830Module::Read void *  pBuffer  )  [virtual]
 

Read the module into an ordinary buffer.

Implements CDigitizerModule.

Definition at line 556 of file CCAENV830Module.cpp.

References CCAENV830::Clear(), CCAENV830::isDataReady(), m_fHeader, m_fManualClear, m_fPacketize, m_fVmeTrigger, m_fWide, m_lEnables, m_nCrate, m_nId, m_nSlot, m_pModule, CCAENV830::ReadEvent(), and CCAENV830::Trigger().

void CCAENV830Module::Read DAQWordBufferPtr &  rBuffer  )  [virtual]
 

Read an Event from the module. See the class documentation for the data format.

Parameters:
rBuffer (DAQWordBufferPtr& [out]): 'pointer' to the buffer to fill with data.
Note:
The buffer pointer is advanced beyond the data event to point to the next free word.

Implements CDigitizerModule.

Definition at line 536 of file CCAENV830Module.cpp.


Member Data Documentation

bool CCAENV830Module::m_fHeader [private]
 

True if headers enabled.

Definition at line 370 of file include/CCAENV830Module.h.

Referenced by Initialize(), and Read().

bool CCAENV830Module::m_fManualClear [private]
 

True if manual clear needed.

Definition at line 372 of file include/CCAENV830Module.h.

Referenced by Initialize(), and Read().

bool CCAENV830Module::m_fPacketize [private]
 

True if should add packet info.

Definition at line 373 of file include/CCAENV830Module.h.

Referenced by Initialize(), and Read().

bool CCAENV830Module::m_fVmeTrigger [private]
 

True if trigger via VME.

Definition at line 374 of file include/CCAENV830Module.h.

Referenced by Initialize(), and Read().

bool CCAENV830Module::m_fWide [private]
 

True if module reads are wide.

Definition at line 371 of file include/CCAENV830Module.h.

Referenced by Initialize(), and Read().

unsigned long CCAENV830Module::m_lEnables [private]
 

Channel enables mask.

Definition at line 375 of file include/CCAENV830Module.h.

Referenced by Initialize(), and Read().

int CCAENV830Module::m_nCrate [private]
 

Crate of module.

Definition at line 376 of file include/CCAENV830Module.h.

Referenced by Initialize(), and Read().

int CCAENV830Module::m_nId [private]
 

Packet id.

Definition at line 369 of file include/CCAENV830Module.h.

Referenced by Initialize(), and Read().

int CCAENV830Module::m_nSlot [private]
 

Slot of module.

Definition at line 377 of file include/CCAENV830Module.h.

Referenced by Initialize(), and Read().

CCAENV830* CCAENV830Module::m_pModule [private]
 

The module hardware driver.

Definition at line 368 of file include/CCAENV830Module.h.

CCAENV830* CCAENV830Module::m_pModule [private]
 

The module hardware driver.

Definition at line 368 of file CCAENV830Module.h.

Referenced by Initialize(), Read(), and ~CCAENV830Module().


The documentation for this class was generated from the following files:
Generated on Fri Mar 12 13:04:34 2004 for Scripted Readout by doxygen 1.3.4