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

TApi Class Reference

The Root interface to SCTAPI. More...

#include <TApi.h>

Collaboration diagram for TApi:

Collaboration graph
[legend]

Public Member Functions

 TApi ()
 Constructor.

 ~TApi ()
 Destructor.

void initialiseAll (int runNumber)
 Initialise all the Rods and modules found in the configuration.

void shutdownAll ()
 Shutdown everything.

void setRunNumber (int newRun)
 Change the run number.

void setScanNumber (int newScan)
 Change the scan number.

void echo (unsigned int partition, unsigned int crate, unsigned int rod, unsigned int length, unsigned long *data)
 Using a primitive, send some data to the ROD.

void echoAll (unsigned int length, unsigned long *data)
 Using a primitive, send some data to the ROD.

void echoSlave (unsigned int partition, unsigned int crate, unsigned int rod, unsigned int slave, unsigned int length, unsigned long *data)
 Using a primitive, send some data to the ROD.

void loadConfiguration ()
 Reload configuration from the "configuration database".

void loadModuleConfigurations ()
 Load module configurations from the "configuration database".

void configureBOC (unsigned int partition, unsigned int crate, unsigned int rod)
 Reset BOC configuration.

void awaitResponse (unsigned int partition, unsigned int crate, unsigned int rod, int timeout=5)
 Wait for a ROD to finish a primlist.

unsigned long * getResponse (unsigned int partition, unsigned int crate, unsigned int rod)
 Get a response from the rod.

unsigned long * getResponse (unsigned int partition, unsigned int crate, unsigned int rod, unsigned long *length)
 Get a response from the rod.

bool getRodMessage (unsigned int partition, unsigned int crate, unsigned int rod, char *buffer, unsigned long &length)
 Get a message from a ROD text buffer Returns whether the action was completed.

void flashLED (unsigned int partition, unsigned int crate, unsigned int rod, long slaveNumber, long period=1000, long flashes=10)
 This creates its own primitive list and sends it to a slave DSP on the ROD.

void status ()
Int_t dspBlockDump (unsigned int partition, unsigned int crate, unsigned int rod, long dspStart, long numWords, long dspNumber, bool usePrimitive=true)
 Dump contents of a block of DSP memory to cout.

Int_t dspBlockDumpFile (unsigned int partition, unsigned int crate, unsigned int rod, long dspStart, long numWords, long dspNumber, const char *filename, bool usePrimitive=true)
 Dump contents of a block of DSP memory to a file.

unsigned long * dspBlockRead (unsigned int partition, unsigned int crate, unsigned int rod, long dspStart, long numWords, long dspNumber, unsigned long *length, bool usePrimitive=true)
 Read data.

int dspBlockWrite (unsigned int partition, unsigned int crate, unsigned int rod, unsigned long *buffer, unsigned long dspAddress, long numWords, long dspNumber, bool usePrimitive=true)
 Write a block of memory to a ROD DSP.

unsigned long readRodStatusReg (unsigned int partition, unsigned int crate, unsigned int rod, long regNumber)
 Read one ROD Status Register via HPI.

unsigned long readRodCommandReg (unsigned int partition, unsigned int crate, unsigned int rod, long regNumber)
 Read one ROD Command Register via HPI.

unsigned long dspSingleRead (unsigned int partition, unsigned int crate, unsigned int rod, const unsigned long dspAddr, long dspNumber)
 Read a single 32b word from MasterDSP SDRAM via HPI.

void dspSingleWrite (unsigned int partition, unsigned int crate, unsigned int rod, unsigned long dspAddr, unsigned long value, long dspNumber)
 Write a single 32b word to MasterDSP SDRAM via HPI.

void createDebugPrimList ()
 Create a prim list.

void addDebugPrimList (unsigned long length, long index, long id, long version, unsigned long *body)
 Insert a primitive in a prim list.

void sendDebugPrimList (unsigned int partition, unsigned int crate, unsigned int rod)
 Send the previously created prim list.

void sendDebugPrimListAll ()
 Send the previously created prim list to all RODs.

void sendDebugSlavePrimList (unsigned int partition, unsigned int crate, unsigned int rod, unsigned int slave, bool await, bool response)
 Send prim list to slave.

void debugPrimListFromFile (const char *fileName)
void dumpDebugPrimList ()
std::list< SctApi::RodLabel > listRods ()
unsigned long * retrieveModule (UINT32 mid)
 Return the module configuration data for the required module.

UINT32 findModule (const char *sn)
UINT32 findModule (INT32 mur, INT32 module)
 Return unique identifier for mur/module.

UINT32 findBarrelModule (INT32 barrel, INT32 row, INT32 number)
 Return unique identifer from barrel geometry.

UINT32 findEndcapModule (INT32 disk, INT32 ring, INT32 number)
 Return unique identifer from endcap geometry.

void getABCDModules (UINT32 bank)
 Get all modules from ROD to memory.

void getABCDModule (UINT32 mid, UINT32 bank)
 Get module from ROD to memory.

void setABCDModules (UINT32 bank)
 Set all module configs in a ROD bank.

void setABCDModule (UINT32 mid, UINT32 bank)
 Set module config in ROD bank.

void sendABCDModule (UINT32 mid, UINT32 bank, UINT32 type=2)
void sendABCDModules (UINT32 bank, UINT32 type=2)
void modifyABCDMask (UINT32 mid, UINT32 *mask)
 Modify mask of module in online configuration.

void modifyABCDTrims (UINT32 mid, UINT8 *trims)
 Modify trims of module in online configuration.

void modifyABCDVar (UINT32 typ, FLOAT32 var)
 Modify variable of all modules in online configuration.

void modifyABCDVar (UINT32 mid, UINT32 typ, FLOAT32 var)
 Modify variable of module in online configuration.

void modifyABCDVar (UINT32 mid, UINT32 c, UINT32 typ, FLOAT32 var)
 Modify variable of one chip of module in online configuration.

void modifyABCDVarROD (UINT32 mid, UINT32 chip, UINT32 typ, FLOAT32 var, UINT32 bank)
 Modify variable for specific module/chip in ROD bank.

void modifyABCDVarROD (UINT32 typ, FLOAT32 var, UINT32 bank)
 Modify variable in ROD bank.

void modifyBOCParam (unsigned int partition, unsigned int crate, unsigned int rod, unsigned int channel, unsigned int type, unsigned int val)
 Modify a BOC variable.

void defaultScan (int type)
 Do a scan (hardcoded for testing).

void tidyHistogramming ()
 Tidy up just in case things got left behind.

void doScan (TScanDef scan)
 Carry out the scan defined by scan.

void awaitScan ()
void doRawScan (TScanDef scan, int delay, bool configure=true, bool clkBy2=false)
 Scan returning histograms of raw data.

void sendTrigger (unsigned int partition, unsigned int crate, unsigned int rod, TTrigger trig)
 Send one trigger to the currently configured modules.

void printABCDModule (int mid)
 Uses the sctConf method.

void printABCDRodModule (int mid, int bank)
 Uses the sctConf method.

void printBOCSetup (unsigned int partition, unsigned int crate, unsigned int rod)
 Print BOC setup of all channels.

void currentBOCSetup (unsigned int partition, unsigned int crate, unsigned int rod)
void printBOCRegisters (unsigned int partition, unsigned int crate, unsigned int rod)
 Print all BOC registers.

void currentBOCRegisters (unsigned int partition, unsigned int crate, unsigned int rod)
void saveBOCSetup (unsigned int partition, unsigned int crate, unsigned int rod)
 Save BOC setup.

void saveBOCRegisters (unsigned int partition, unsigned int crate, unsigned int rod)
 Save BOC registers.

void restoreBOCSetup (unsigned int partition, unsigned int crate, unsigned int rod)
 Response BOC setup.

void restoreBOCRegisters (unsigned int partition, unsigned int crate, unsigned int rod)
 Restore BOC registers.

void rawData (unsigned int partition, unsigned int crate, unsigned int rod, int delay, int units, bool setMask=true, TTrigger trig=TTrigger())
 Print raw link data.

char * probe (unsigned int partition, unsigned int crate, unsigned int rod, signed int harness=-1)
 Probe channels on a ROD to find out what's there.

char * probeWithTrigger (unsigned int partition, unsigned int crate, unsigned int rod, TTrigger trig, signed int harness=-1)
 Probe channels on a ROD to find out what's there.

void probeScan (unsigned int partition, unsigned int crate, unsigned int rod, TScanDef scan, signed int harness=-1)
 Probe channels on a ROD to find out what's there.

bool checkAllModulesProbe (const char *value)
 Probe all modules and check if value returned is in string.

void autoConfigure ()
 Attempt to configure.

void bocHistogram (unsigned int partition, unsigned int crate, unsigned int rod, unsigned int samples, unsigned int numLoops)
 Print "BOC Histogram".

void rodMode (unsigned int partition, unsigned int crate, unsigned int rod, int mode, int flag, int fifoSetup, int nBins, int delay, int message)
 Do something to the rod mode!

void standardRegisterDump (unsigned int partition, unsigned int crate, unsigned int rod)
void lasersOff ()
 For extra safety (don't use with lots of modules connected.

void scanEvents (unsigned int partition, unsigned int crate, unsigned int rod, int sl=-1, bool extFlag=false, bool errorType=false)
 Scan for events.

void decodeEvent (unsigned int partition, unsigned int crate, unsigned int rod, int sl, int index, bool extFlag=false, bool errorType=false)
 Print decoded event.

void decodeConfig (unsigned int partition, unsigned int crate, unsigned int rod, bool skipTrim=false, bool bypass=false)
 Decode config bit stream (only valid after SEND_CONFIG.

void testLinkOutSelect (unsigned int partition, unsigned int crate, unsigned int rod, unsigned int link)
void setDebugOption (const char *opt)
void unsetDebugOption (const char *opt)
void listEnabledDebugOptions ()
void listDebugOptions ()
void debugStepHistogram ()
void debugContinueHistogram ()
void debugAbortHistogram ()
void timSetFrequency (unsigned int partition, unsigned int crate, double trigFreq, double rstFreq)
 Set both trigger and reset frequency.

void freeTriggers (unsigned int partition, unsigned int crate)
 Use currently set frequency.

void stopTriggers (unsigned int partition, unsigned int crate)
 Stop the TIM generating regular triggers.

void timL1A (unsigned int partition, unsigned int crate)
 Tell the TIM to send an L1A.

void timCalL1A (unsigned int partition, unsigned int crate, int delay)
 Tell TIM to send Cal + L1A.

void timSoftReset (unsigned int partition, unsigned int crate)
 Tell the TIM to send a softReset.

void timBCReset (unsigned int partition, unsigned int crate)
 Tell the TIM to send a BCR.

void sendTimBurst (unsigned int partition, unsigned int crate, int count)
 Send a burst of triggers from the TIM.

void timVerbose (unsigned int partition, unsigned int crate)
 Print info about the TIM.

void timRegLoad (unsigned int partition, unsigned int crate, int reg, UINT16 val)
UINT16 timReadRegister (unsigned int partition, unsigned int crate, int reg)
void requestHardReset (UINT32 mid)
void resumePolling ()
void stopPolling ()

Private Member Functions

 TApi (const TApi &)
TApioperator= (const TApi &)

Private Attributes

SctApi::SctApiworker
 The worker that implements the functions.


Detailed Description

The Root interface to SCTAPI.

This class is processed to generate a Root dictionary that means it can be used from Root. This is basically a proxy for the SctApi class, all methods on it are delegated to an instance of the SctApi class which is created on construction.

A secondary purpose of this class is to extract the public interface from the SctApi class. This means that this class should be capable of doing anything it is necessary to do using the SctApi class, and also serves the purpose of testing the abstraction from the underlying RodModule classes and exceptions.

Definition at line 165 of file TApi.h.


Constructor & Destructor Documentation

TApi::TApi  ) 
 

Constructor.

TApi::~TApi  ) 
 

Destructor.


Member Function Documentation

void TApi::addDebugPrimList unsigned long  length,
long  index,
long  id,
long  version,
unsigned long *  body
 

Insert a primitive in a prim list.

void TApi::autoConfigure  ) 
 

Attempt to configure.

void TApi::awaitResponse unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  timeout = 5
 

Wait for a ROD to finish a primlist.

void TApi::bocHistogram unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
unsigned int  samples,
unsigned int  numLoops
 

Print "BOC Histogram".

bool TApi::checkAllModulesProbe const char *  value  ) 
 

Probe all modules and check if value returned is in string.

void TApi::configureBOC unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

Reset BOC configuration.

void TApi::createDebugPrimList  ) 
 

Create a prim list.

void TApi::decodeConfig unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
bool  skipTrim = false,
bool  bypass = false
 

Decode config bit stream (only valid after SEND_CONFIG.

void TApi::decodeEvent unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  sl,
int  index,
bool  extFlag = false,
bool  errorType = false
 

Print decoded event.

void TApi::defaultScan int  type  ) 
 

Do a scan (hardcoded for testing).

void TApi::doRawScan TScanDef  scan,
int  delay,
bool  configure = true,
bool  clkBy2 = false
 

Scan returning histograms of raw data.

void TApi::doScan TScanDef  scan  ) 
 

Carry out the scan defined by scan.

Int_t TApi::dspBlockDump unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
long  dspStart,
long  numWords,
long  dspNumber,
bool  usePrimitive = true
 

Dump contents of a block of DSP memory to cout.

Int_t TApi::dspBlockDumpFile unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
long  dspStart,
long  numWords,
long  dspNumber,
const char *  filename,
bool  usePrimitive = true
 

Dump contents of a block of DSP memory to a file.

unsigned long* TApi::dspBlockRead unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
long  dspStart,
long  numWords,
long  dspNumber,
unsigned long *  length,
bool  usePrimitive = true
 

Read data.

int TApi::dspBlockWrite unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
unsigned long *  buffer,
unsigned long  dspAddress,
long  numWords,
long  dspNumber,
bool  usePrimitive = true
 

Write a block of memory to a ROD DSP.

unsigned long TApi::dspSingleRead unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
const unsigned long  dspAddr,
long  dspNumber
 

Read a single 32b word from MasterDSP SDRAM via HPI.

void TApi::dspSingleWrite unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
unsigned long  dspAddr,
unsigned long  value,
long  dspNumber
 

Write a single 32b word to MasterDSP SDRAM via HPI.

void TApi::echo unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
unsigned int  length,
unsigned long *  data
 

Using a primitive, send some data to the ROD.

Expect an output.

void TApi::echoAll unsigned int  length,
unsigned long *  data
 

Using a primitive, send some data to the ROD.

Expect an output.

void TApi::echoSlave unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
unsigned int  slave,
unsigned int  length,
unsigned long *  data
 

Using a primitive, send some data to the ROD.

Expect an output.

UINT32 TApi::findBarrelModule INT32  barrel,
INT32  row,
INT32  number
 

Return unique identifer from barrel geometry.

UINT32 TApi::findEndcapModule INT32  disk,
INT32  ring,
INT32  number
 

Return unique identifer from endcap geometry.

UINT32 TApi::findModule INT32  mur,
INT32  module
 

Return unique identifier for mur/module.

UINT32 TApi::findModule const char *  sn  ) 
 

Parameters:
sn Module serial number
Returns:
The unique identifier, BAD_MODULE if not found

void TApi::flashLED unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
long  slaveNumber,
long  period = 1000,
long  flashes = 10
 

This creates its own primitive list and sends it to a slave DSP on the ROD.

Period given in ms

void TApi::freeTriggers unsigned int  partition,
unsigned int  crate
 

Use currently set frequency.

void TApi::getABCDModule UINT32  mid,
UINT32  bank
 

Get module from ROD to memory.

void TApi::getABCDModules UINT32  bank  ) 
 

Get all modules from ROD to memory.

unsigned long* TApi::getResponse unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
unsigned long *  length
 

Get a response from the rod.

unsigned long* TApi::getResponse unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

Get a response from the rod.

bool TApi::getRodMessage unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
char *  buffer,
unsigned long &  length
 

Get a message from a ROD text buffer Returns whether the action was completed.

void TApi::initialiseAll int  runNumber  ) 
 

Initialise all the Rods and modules found in the configuration.

void TApi::lasersOff  ) 
 

For extra safety (don't use with lots of modules connected.

void TApi::loadConfiguration  ) 
 

Reload configuration from the "configuration database".

void TApi::loadModuleConfigurations  ) 
 

Load module configurations from the "configuration database".

void TApi::modifyABCDMask UINT32  mid,
UINT32 *  mask
 

Modify mask of module in online configuration.

void TApi::modifyABCDTrims UINT32  mid,
UINT8 *  trims
 

Modify trims of module in online configuration.

void TApi::modifyABCDVar UINT32  mid,
UINT32  c,
UINT32  typ,
FLOAT32  var
 

Modify variable of one chip of module in online configuration.

void TApi::modifyABCDVar UINT32  mid,
UINT32  typ,
FLOAT32  var
 

Modify variable of module in online configuration.

void TApi::modifyABCDVar UINT32  typ,
FLOAT32  var
 

Modify variable of all modules in online configuration.

void TApi::modifyABCDVarROD UINT32  typ,
FLOAT32  var,
UINT32  bank
 

Modify variable in ROD bank.

void TApi::modifyABCDVarROD UINT32  mid,
UINT32  chip,
UINT32  typ,
FLOAT32  var,
UINT32  bank
 

Modify variable for specific module/chip in ROD bank.

void TApi::modifyBOCParam unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
unsigned int  channel,
unsigned int  type,
unsigned int  val
 

Modify a BOC variable.

void TApi::printABCDModule int  mid  ) 
 

Uses the sctConf method.

void TApi::printABCDRodModule int  mid,
int  bank
 

Uses the sctConf method.

void TApi::printBOCRegisters unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

Print all BOC registers.

void TApi::printBOCSetup unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

Print BOC setup of all channels.

char* TApi::probe unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
signed int  harness = -1
 

Probe channels on a ROD to find out what's there.

void TApi::probeScan unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
TScanDef  scan,
signed int  harness = -1
 

Probe channels on a ROD to find out what's there.

char* TApi::probeWithTrigger unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
TTrigger  trig,
signed int  harness = -1
 

Probe channels on a ROD to find out what's there.

void TApi::rawData unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  delay,
int  units,
bool  setMask = true,
TTrigger  trig = TTrigger()
 

Print raw link data.

unsigned long TApi::readRodCommandReg unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
long  regNumber
 

Read one ROD Command Register via HPI.

unsigned long TApi::readRodStatusReg unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
long  regNumber
 

Read one ROD Status Register via HPI.

void TApi::restoreBOCRegisters unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

Restore BOC registers.

void TApi::restoreBOCSetup unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

Response BOC setup.

unsigned long* TApi::retrieveModule UINT32  mid  ) 
 

Return the module configuration data for the required module.

void TApi::rodMode unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  mode,
int  flag,
int  fifoSetup,
int  nBins,
int  delay,
int  message
 

Do something to the rod mode!

void TApi::saveBOCRegisters unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

Save BOC registers.

void TApi::saveBOCSetup unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

Save BOC setup.

void TApi::scanEvents unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  sl = -1,
bool  extFlag = false,
bool  errorType = false
 

Scan for events.

void TApi::sendABCDModule UINT32  mid,
UINT32  bank,
UINT32  type = 2
 

Parameters:
mid Unique identifier of the module to send
bank Configuration bank in the ROD
type How much configuration to transmit

void TApi::sendABCDModules UINT32  bank,
UINT32  type = 2
 

Parameters:
bank Configuration bank in the ROD
type How much configuration to transmit

void TApi::sendDebugPrimList unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

Send the previously created prim list.

void TApi::sendDebugPrimListAll  ) 
 

Send the previously created prim list to all RODs.

void TApi::sendDebugSlavePrimList unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
unsigned int  slave,
bool  await,
bool  response
 

Send prim list to slave.

void TApi::sendTimBurst unsigned int  partition,
unsigned int  crate,
int  count
 

Send a burst of triggers from the TIM.

void TApi::sendTrigger unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
TTrigger  trig
 

Send one trigger to the currently configured modules.

void TApi::setABCDModule UINT32  mid,
UINT32  bank
 

Set module config in ROD bank.

void TApi::setABCDModules UINT32  bank  ) 
 

Set all module configs in a ROD bank.

void TApi::setRunNumber int  newRun  ) 
 

Change the run number.

void TApi::setScanNumber int  newScan  ) 
 

Change the scan number.

void TApi::shutdownAll  ) 
 

Shutdown everything.

void TApi::stopTriggers unsigned int  partition,
unsigned int  crate
 

Stop the TIM generating regular triggers.

void TApi::tidyHistogramming  ) 
 

Tidy up just in case things got left behind.

void TApi::timBCReset unsigned int  partition,
unsigned int  crate
 

Tell the TIM to send a BCR.

void TApi::timCalL1A unsigned int  partition,
unsigned int  crate,
int  delay
 

Tell TIM to send Cal + L1A.

void TApi::timL1A unsigned int  partition,
unsigned int  crate
 

Tell the TIM to send an L1A.

void TApi::timSetFrequency unsigned int  partition,
unsigned int  crate,
double  trigFreq,
double  rstFreq
 

Set both trigger and reset frequency.

void TApi::timSoftReset unsigned int  partition,
unsigned int  crate
 

Tell the TIM to send a softReset.

void TApi::timVerbose unsigned int  partition,
unsigned int  crate
 

Print info about the TIM.


Field Documentation

SctApi::SctApi* TApi::worker [private]
 

The worker that implements the functions.

Definition at line 562 of file TApi.h.


The documentation for this class was generated from the following file:
Generated on Thu Jul 15 09:51:07 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5