Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

SctApi::ScanControlRODHisto Class Reference

Control a histogram on a ROD. More...

#include <SctApiHisto.h>

Inheritance diagram for SctApi::ScanControlRODHisto:

Inheritance graph
[legend]
Collaboration diagram for SctApi::ScanControlRODHisto:

Collaboration graph
[legend]

Public Types

typedef std::pair< std::pair<
int, int >, std::pair< int,
int > > 
TrapBuffers

Public Member Functions

 ScanControlRODHisto (SctApi &api, boost::shared_ptr< Scan > aScan, boost::shared_ptr< ScanEx > aScanEx)
void startHistogramming ()
 Check possible and start.

void initialisePolling ()
 Setup variables after starting histogramming?

void reportEventErrors ()
 Report on event errors found in slaves.

TrapBuffers getTrapBuffers (const RodLabel rlabel, int dsp)
 Return head and tail of iframe and xframe buffers.

unsigned int getProcTime (const RodLabel rlabel, int dsp)
 Return the processing time for the last trigger.

void dumpHistoStatus (const RodLabel label, int dsp)
 Report on status of histogramming and event traps.

void reportTimeout ()
 Report on progress at timeout.

void nextBin ()
 Move to the next bin (not necessary).

bool checkScanComplete (bool &progressMade, bool &newBin)
 Is the scan complete?

void abort ()
 Signal that the next checkScanComplete should return true.

virtual bool checkScanCompleteROD (const RodLabel &rodLabel, bool &progressMade, bool &newBin, int &totalBin)
 Is this ROD scan complete?

void finishHistogram (bool success)
 Tidy up, read out and save histogram.

std::pair< RodLabel, unsigned
int > 
findModuleSlave (unsigned int mid)

Protected Member Functions

unsigned int getEventCounter (const RodLabel &rodLabel, int slave, bool fromMaster)
 Find the event counter on the ROD.

void readHistograms ()
 Read all module's histogram data.

scan_result_ptrs readHistogramData (UINT32 mid, int frame=0)
 Read histogram data.

char * readHistogramRawData (UINT32 mid, int frame=0)
void postScanModuleSetup ()
 Restore modules after scanning.

unsigned long * getHistogramChunk (RodLabel label, int slave, unsigned long offset, unsigned long size)
 This caches the result from sendData and allows indexing each bin individually.

unsigned long * getEventCountChunk (RodLabel label, int slave)
 Provides cache of data which will be the same for all modules.

bool checkDebugOption (int opt)
bool findNextSection ()

Protected Attributes

std::map< RodLabel, int > lastBin
std::map< RodLabel, int > lastEvent
boost::shared_ptr< Scanscan
boost::shared_ptr< ScanExscanEx
int finalBin
int finalTrigger
int sectionStartBin
int sectionEndBin
int sectionEndTrigger
time_t scanStart
bool aborting

Detailed Description

Control a histogram on a ROD.

Definition at line 158 of file SctApiHisto.h.


Member Function Documentation

void SctApi::ScanControlRODHisto::abort  )  [virtual]
 

Signal that the next checkScanComplete should return true.

Implements SctApi::ScanControl.

bool SctApi::ScanControlRODHisto::checkScanComplete bool &  progressMade,
bool &  newBin
[virtual]
 

Is the scan complete?

Implements SctApi::ScanControl.

virtual bool SctApi::ScanControlRODHisto::checkScanCompleteROD const RodLabel &  rodLabel,
bool &  progressMade,
bool &  newBin,
int &  totalBin
[virtual]
 

Is this ROD scan complete?

Reimplemented in SctApi::ScanControlTIMHisto.

void SctApi::ScanControlRODHisto::dumpHistoStatus const RodLabel  label,
int  dsp
 

Report on status of histogramming and event traps.

void SctApi::ScanControlRODHisto::finishHistogram bool  success  )  [virtual]
 

Tidy up, read out and save histogram.

Implements SctApi::ScanControl.

unsigned long* SctApi::ScanControlRODHisto::getEventCountChunk RodLabel  label,
int  slave
[protected]
 

Provides cache of data which will be the same for all modules.

unsigned int SctApi::ScanControlRODHisto::getEventCounter const RodLabel &  rodLabel,
int  slave,
bool  fromMaster
[protected]
 

Find the event counter on the ROD.

Parameters:
rodLabel Which ROD to read from
slave Which slave counter to read
fromMaster If true use the 16 bit copy, otherwise get 32bit from slave

unsigned long* SctApi::ScanControlRODHisto::getHistogramChunk RodLabel  label,
int  slave,
unsigned long  offset,
unsigned long  size
[protected]
 

This caches the result from sendData and allows indexing each bin individually.

unsigned int SctApi::ScanControlRODHisto::getProcTime const RodLabel  rlabel,
int  dsp
 

Return the processing time for the last trigger.

TrapBuffers SctApi::ScanControlRODHisto::getTrapBuffers const RodLabel  rlabel,
int  dsp
 

Return head and tail of iframe and xframe buffers.

void SctApi::ScanControlRODHisto::initialisePolling  )  [virtual]
 

Setup variables after starting histogramming?

Implements SctApi::ScanControl.

void SctApi::ScanControlRODHisto::nextBin  )  [virtual]
 

Move to the next bin (not necessary).

Implements SctApi::ScanControl.

Reimplemented in SctApi::ScanControlTIMHisto.

void SctApi::ScanControlRODHisto::postScanModuleSetup  )  [protected]
 

Restore modules after scanning.

scan_result_ptrs SctApi::ScanControlRODHisto::readHistogramData UINT32  mid,
int  frame = 0
[protected]
 

Read histogram data.

void SctApi::ScanControlRODHisto::readHistograms  )  [protected]
 

Read all module's histogram data.

void SctApi::ScanControlRODHisto::reportEventErrors  )  [virtual]
 

Report on event errors found in slaves.

Implements SctApi::ScanControl.

void SctApi::ScanControlRODHisto::reportTimeout  )  [virtual]
 

Report on progress at timeout.

Implements SctApi::ScanControl.

void SctApi::ScanControlRODHisto::startHistogramming  )  [virtual]
 

Check possible and start.

Implements SctApi::ScanControl.

Reimplemented in SctApi::ScanControlTIMHisto.


The documentation for this class was generated from the following file:
Generated on Fri Jan 14 12:47:47 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5