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

SctApi::SctApi Class Reference

SctApi class. More...

#include <SctApi.h>

Inheritance diagram for SctApi::SctApi:

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

Collaboration graph
[legend]

Public Member Functions

 SctApi ()
 Default to local xmlConfig.

 SctApi (boost::shared_ptr< SctConfiguration::Configuration > newConf)
 Specify configuration.

void setMrsStream (MRSStream *stream)
 C++ only method to tell a MRS aware program where to write to.

void setIsDictionary (ISInfoDictionary *dict)
 C++ only method to tell a IS aware program where to write to.

void initialiseAll (int run)
 Initialise the crates and create the Rod/Vme objects.

void shutdownAll ()
 Leave everything in a suitable state and delete all the objects.

void setRunNumber (UINT32 newRun)
 IPC: Don't do during a scan.

void setScanNumber (UINT32 newScan)
 IPC: Don't do during a scan.

UINT32 getRunNumber ()
 IPC: Don't do during a scan.

UINT32 getScanNumber ()
 IPC: Don't do during a scan.

bool isRODPresent (unsigned int partition, unsigned int crate, unsigned int rod)
 Return true if ROD can accept commands (Doesn't go so far as to access ROD hardware).

void startupModules ()
 DDC: Check modules in configurable state.

ModuleList getModuleList ()
 Return list of configured modules.

void loadConfiguration ()
 IPC: Don't do during a scan Conf: Definite interaction!

void loadConfiguration (std::string filename)
 IPC: Don't do during a scan Conf: Definite interaction!

int loadModuleConfigurations ()
 Return number of module loaded.

void storeModuleConfigurations ()
 IPC: Don't do during a scan Conf: Definite interaction!

void configureBOC (unsigned int partition, unsigned int crate, unsigned int rod)
 IPC: Don't do during a scan Conf: Definite interaction!

std::vector< double > getBOCMonitorArray (unsigned int partition, unsigned int crate, unsigned int rod)
 IPC: Should be OK during scan, only reads from BOC Conf: Nothing.

int awaitResponse (unsigned int partition, unsigned int crate, unsigned int rod, int timeout)
 IPC: Allow during a scan (only expert mode) Conf: no interaction!

int awaitResponseAll (unsigned int partition, unsigned int crate, int timeout)
 IPC: Allow during a scan (only expert mode) Conf: no interaction!

unsigned long * getResponse (unsigned int partition, unsigned int crate, unsigned int rod, unsigned long &length)
 (No interaction with VME) IPC: Allow during a scan (only expert mode) Conf: No interaction!

bool getRodMessage (unsigned int partition, unsigned int crate, unsigned int rod, char *buffer, unsigned long &length)
 Get a message in the text buffer.

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 echo (unsigned int partition, unsigned int crate, unsigned int rod, unsigned int length, const unsigned long *data)
 IPC: Possible during a scan? Conf: No interaction.

void echoAll (unsigned int length, const unsigned long *data)
 IPC: Possible during a scan? Conf: No interaction.

void echoSlave (unsigned int partition, unsigned int crate, unsigned int rod, unsigned int slave, unsigned int length, const unsigned long *data)
 IPC: Possible during a scan? Conf: No interaction.

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

int dspBlockDumpFile (unsigned int partition, unsigned int crate, unsigned int rod, long dspStart, long numWords, long dspNumber, std::string filename, bool usePrim=true)
 Dump contents of a block of DSP memory to a file.

void standardRegisterDump (RodLabel rl)
 Dump to ${tempDir}/Dump_%05d.

void standardRegisterDump (unsigned int partition, unsigned int crate, unsigned int rod)
 Dump to ${tempDir}/Dump_%05d.

void standardRegisterDumpAll ()
 Dump to ${tempDir}/Dump_%05d RODs sent to consecutive d.

unsigned long * dspBlockRead (unsigned int partition, unsigned int crate, unsigned int rod, long dspStart, long numWords, long dspNumber, unsigned long &length, bool usePrim=true)
 Use dspNumber -1 to refer to the master DSP.

int dspBlockWrite (unsigned int partition, unsigned int crate, unsigned int rod, unsigned long *buffer, unsigned long dspAddress, long numWords, long dspNumber, bool usePrim=true)
 Use dspNumber -1 to refer to the master DSP.

unsigned long dspSingleBlockRead (unsigned int partition, unsigned int crate, unsigned int rod, long dspStart, long dspNumber)
 Same prototype as dspSingleRead but safer (for slave DSPs).

void dspSingleBlockWrite (unsigned int partition, unsigned int crate, unsigned int rod, unsigned long dspAddress, unsigned long val, long dspNumber)
 Same prototype as dspSingleWrite but safer (for slave DSPs).

unsigned long * primReadSlaveDsp (unsigned int partition, unsigned int crate, unsigned int rod, int s, int add, int words)
 Don't use if important to preserve primitive state!

void primWriteSlaveDsp (unsigned int partition, unsigned int crate, unsigned int rod, int s, int add, int numWords, unsigned long *data)
 Don't use if important to preserve primitive state!

void writeSlaveFile (unsigned int partition, unsigned int crate, unsigned int rod, unsigned int slave, std::string fileName, unsigned long address, bool usePrim=true)
void startSlave (unsigned int partition, unsigned int crate, unsigned int rod, unsigned int slave)
 Send the start slave primitive to a DSP.

boost::shared_array< unsigned
long > 
loadFile (std::string filename, unsigned long &length)
 Get block of memory from file.

unsigned long readRodStatusReg (unsigned int partition, unsigned int crate, unsigned int rod, long regNumber)
 IPC: Immediate response Conf: No interaction.

unsigned long readRodCommandReg (unsigned int partition, unsigned int crate, unsigned int rod, long regNumber)
 IPC: Immediate response Conf: No interaction.

unsigned long dspSingleRead (unsigned int partition, unsigned int crate, unsigned int rod, const unsigned long dspAddr, long dspNumber)
 IPC: Immediate response Conf: No interaction.

void dspSingleWrite (unsigned int partition, unsigned int crate, unsigned int rod, unsigned long dspAddr, unsigned long value, long dspNumber)
 IPC: Immediate response (expert only) Conf: No interaction.

ABCDModule * retrieveModule (UINT32 mid)
 Module data as cached from Configuration.

void createDebugPrimList ()
 IPC: Immediate response (expert) Conf: No Interaction.

void addDebugPrimList (unsigned long length, long index, long id, long version, unsigned long *body)
 IPC: Immediate response (expert) Conf: No Interaction.

void sendDebugPrimList (unsigned int partition, unsigned int crate, unsigned int rod)
 IPC: Immediate response (expert) Conf: No Interaction.

void sendDebugPrimListAll ()
 IPC: Immediate response (expert) Conf: No Interaction.

void sendDebugSlavePrimList (unsigned int partition, unsigned int crate, unsigned int rod, unsigned int slave, bool await, bool response)
 Send the previously created prim list to a slave dsp.

void debugPrimListFromFile (std::string fileName)
 This doesn't check the primlist checksum (but slave lists will need the correct sum).

void dumpDebugPrimList ()
 Perform a binary dump of the debug prim list.

const std::list< RodLabel > listRods () const
 Return a list of the RODs that have been configured.

const std::list< CrateLabel > listCrates () const
 Return a list of the RODs that have been configured.

UINT32 findModule (std::string sn)
std::string convertToString (UINT32 mid)
 IPC: Immediate response Conf: Lookup.

UINT32 findModule (INT32 mur, INT32 module)
 IPC: Immediate response Conf: Lookup.

std::pair< INT32, INT32 > convertToMUR (UINT32 mid)
 IPC: Immediate response Conf: Lookup.

UINT32 findBarrelModule (INT32 barrel, INT32 row, INT32 number)
 IPC: Immediate response Conf: Lookup.

void convertToBarrelModule (UINT32 mid, UINT32 &barrel, UINT32 &row, int &number)
 IPC: Immediate response Conf: Lookup.

UINT32 findEndcapModule (INT32 disk, INT32 quadrant, INT32 number)
 IPC: Immediate response Conf: Lookup.

void convertToEndcapModule (UINT32 mid, INT32 &disk, UINT32 &quadrant, UINT32 &number)
 IPC: Immediate response Conf: Lookup.

void getABCDModules (BankType bank)
 IPC: Immediate response Conf: Lookup.

virtual void getABCDModule (UINT32 mid, BankType bank)
 IPC: Immediate response Conf: Lookup.

virtual boost::shared_ptr<
ABCDModule > 
getABCDModuleRaw (unsigned int partition, unsigned int crate, unsigned int rod, UINT32 slot, BankType bank)
 IPC: Immediate response Conf: Lookup.

virtual void setABCDModules (BankType bank)
 IPC: Don't do during scan Conf: Possible cache.

virtual void setABCDModule (UINT32 mid, BankType bank)
 IPC: Don't do during scan Conf: Possible cache.

virtual void sendAllABCDModules (BankType bank, ConfigType type=SCTAPI_CONFIG_ALL, const bool enableDataMode=true)
virtual void sendABCDModule (UINT32 mid, BankType bank, ConfigType type=SCTAPI_CONFIG_ALL, const bool enableDataMode=true)
void modifyABCDMask (UINT32 mid, UINT32 *mask)
 Set the channel mask of all chips in a module.

void modifyABCDTrims (UINT32 mid, UINT8 *trims)
 Modify a module's trim configuration.

void modifyABCDVar (UINT32 typ, FLOAT32 var)
 IPC: Not during scan Conf: No communication.

void modifyABCDVar (UINT32 mid, UINT32 typ, FLOAT32 var)
 IPC: Not during scan Conf: No communication.

void modifyABCDVar (UINT32 mid, UINT32 chip, UINT32 typ, FLOAT32 var)
 IPC: Not during scan Conf: No communication.

void modifyABCDVarROD (UINT32 mid, UINT32 chip, UINT32 typ, FLOAT32 var, BankType bank)
 IPC: Not during scan Conf: No communication.

void modifyABCDVarROD (UINT32 mid, UINT32 typ, FLOAT32 var, BankType bank)
 IPC: Not during scan Conf: No communication.

void modifyABCDVarROD (UINT32 type, FLOAT32 value, BankType bank)
 IPC: Not during scan Conf: No communication.

void modifyABCDRC (UINT32 mid, UINT32 chip, UINT16 function, FLOAT32 p0, FLOAT32 p1, FLOAT32 p2)
 IPC: Not during scan Conf: No communication.

void modifyBOCParam (unsigned int partition, unsigned int crate, unsigned int rod, unsigned int channel, unsigned int type, unsigned int val)
 IPC: Not during scan Conf: No communication.

void modifyBOCParam (unsigned int type, unsigned int val)
 IPC: Not during scan Conf: No communication.

void printBOCSetup (unsigned int partition, unsigned int crate, unsigned int rod)
 IPC: Immediate response Conf: No communication.

std::vector< SctConfiguration::BOCChannelConfigcurrentBOCSetup (unsigned int partition, unsigned int crate, unsigned int rod)
 IPC: Immediate response (Needs results by IPC) Conf: No communication.

void printBOCRegisters (unsigned int partition, unsigned int crate, unsigned int rod)
 IPC: Immediate response Conf: No communication.

SctConfiguration::BOCGlobalConfig currentBOCRegisters (unsigned int partition, unsigned int crate, unsigned int rod)
 IPC: Immediate response (Needs results by IPC) Conf: No communication.

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

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

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

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

void lasersOff ()
 IPC: Immediate response Conf: No communication.

void timSetFrequency (unsigned int partition, unsigned int crate, double trigFreq, double rstFreq)
 Freq is approximated by divider circuit Available frequencies are 600, 60, 6, 0.6 kHz Divided by: 1, 2, 3, 4, 5, 6, (10, 12).

void freeTriggers (unsigned int partition, unsigned int crate)
 IPC: Not during scan Conf: No communication.

void stopTriggers (unsigned int partition, unsigned int crate)
 IPC: Not during scan Conf: No communication.

void timL1A (unsigned int partition, unsigned int crate)
 IPC: Not during scan Conf: No communication.

void timCalL1A (unsigned int partition, unsigned int crate, int delay)
 IPC: Not during scan Conf: No communication.

void timSoftReset (unsigned int partition, unsigned int crate)
 IPC: Not during scan Conf: No communication.

void timBCReset (unsigned int partition, unsigned int crate)
 IPC: Not during scan Conf: No communication.

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

void timVerbose (unsigned int partition, unsigned int crate)
 Print all TIM registers to stdout.

void timWriteRegister (unsigned int partition, unsigned int crate, int reg, UINT16 val)
UINT16 timReadRegister (unsigned int partition, unsigned int crate, int reg)
void status ()
 IPC: Immediate response (sane in all eventualities!) Conf: No communication.

void defaultScan (int type)
 IPC: Not during any other scan Conf: No communication.

void doScan (boost::shared_ptr< Scan > scan)
 DDC: Check modules configured...

void awaitScan ()
 Await completion of a scan (alternative to checking IS running entry).

void abortScan ()
 Abort any long term activity.

void doRawScan (boost::shared_ptr< Scan > scan, int delay, int width, bool configureModules=false, bool clkBy2=false)
 IPC: Not during any other scan Conf: Lookup.

void sendTimTrigger (unsigned int partition, unsigned int crate, const Trigger *trig)
 IPC: Not during any other scan Conf: No communication.

void sendTrigger (unsigned int partition, unsigned int crate, unsigned int rod, const Trigger *trig)
 IPC: Not during any other scan Conf: No communication.

void printABCDModule (int mid)
 Uses the sctConf method.

void printABCDRodModule (int mid, BankType bank)
 First retrieve the configuration from the ROD Uses the sctConf method.

void decodeEvent (unsigned int partition, unsigned int crate, unsigned int rod, int sl, int index, bool extFlag=false, bool errorType=false)
 IPC: Needs feedback, immediate response Conf: No Communication.

void scanEvents (unsigned int partition, unsigned int crate, unsigned int rod, int sl, bool extFlag, bool errorType)
 IPC: Needs feedback, immediate response Conf: No Communication.

void reportEventErrors ()
 Suggest problems with modules based on events in event buffer.

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 rawData (unsigned int partition, unsigned int crate, unsigned int rod, int delay, int units, bool setMask=true, const Trigger *trig=0)
 IPC: Needs feedback, immediate response Conf: No Communication.

void sendL1A (unsigned int partition, unsigned int crate, unsigned int rod, bool capture=false)
 The mask is unchanged in this function and it is set up to go to all modules.

std::vector< char > probe (unsigned int partition, unsigned int crate, unsigned int rod, signed int harness=-1)
 Do quick scan of channels Recognises all the same, clock by 2 and an event header Return a char for each link examined 0 All zero's 1 All one's 2 Clock by 2 4 Clock by 4 L L1A E Event Header S Soft Reset B BC Reset J Junk (ie anything else).

std::vector< char > probeWithTrigger (unsigned int partition, unsigned int crate, unsigned int rod, const Trigger *trigger, signed int harness=-1)
 Do quick scan of channels Recognises all the same, clock by 2 and an event header Return a char for each link examined 0 All zero's 1 All one's 2 Clock by 2 4 Clock by 4 L L1A E Event Header S Soft Reset B BC Reset J Junk (ie anything else).

std::vector< std::vector<
char > > 
SctApi::probeScan (unsigned int partition, unsigned int crate, unsigned int rod, boost::shared_ptr< Scan > scan, signed int harness=-1)
 Scan over a variable and perform a probe for each.

bool checkAllModulesProbe (std::string value)
 Probe all modules and check that value returned by probe is one of the characters specified.

void autoConfigure ()
 Suggest values for configuration.

void bocHistogram (unsigned int partition, unsigned int crate, unsigned int rod, unsigned int samples, unsigned int numLoops)
 Run the ROD "BOC histogram" primitive.

void requestHardResetAll ()
 Request hard reset on all modules.

void requestHardReset (UINT32 mid)
 Request hard reset of module mid.

void requestIVCurve (UINT32 mid, FLOAT32 start, FLOAT32 stop, FLOAT32 step, UINT16 delay, FLOAT32 currentLim)
 Request initialisation of an IV scan.

void requestIVCurveAll (FLOAT32 start, FLOAT32 stop, FLOAT32 step, UINT16 delay, FLOAT32 currentLim)
 Request initialisation of an IV scan on all modules.

void setSelectAllInCrate (int crate, bool value, int timeout=5)
 Set the select value for all known power supply channels in a crate.

void setSelect (UINT32 mid, bool value)
 Set the select value for module mid.

void changeRunState (int state)
 Change run state of all power modules.

void ddcChangeState (int crate, int channel, short state, int timeout=2)
 Change state on one channel.

void ddcChangeStateAll (int crate, short state, int timeout=2)
 Change state on all power supply channels.

void ddcLoadConfiguration (int crate, short state, int timeout=2)
 Load power supply crate configuration for particular state.

void ddcHardReset (int crate, int channel, int timeout=2)
 Send hard reset to power supply channel.

void ddcHardResetAll (int crate, int timeout=2)
 Send hard reset to all channels in power supply crate.

int ddcGetChannelParameterInt (int crate, int channel, std::string name, int timeout=2)
 Get a parameter that should be interpreted as an integer.

float ddcGetChannelParameterFloat (int crate, int channel, std::string name, int timeout=2)
 Get a parameter that should be interpreted as a float.

std::string ddcGetChannelParameterString (int crate, int channel, std::string name, int timeout=2)
 Get a parameter that should be interpreted as a string (most likely an error).

int ddcGetCardParameterInt (int crate, int card, std::string name, int timeout=2)
 Get a card parameter that should be interpreted as an integer.

float ddcGetCardParameterFloat (int crate, int card, std::string name, int timeout=2)
 Get a card parameter that should be interpreted as a float.

std::string ddcGetCardParameterString (int crate, int card, std::string name, int timeout=2)
 Get a card parameter that should be interpreted as a string (probably an error).

int ddcGetCrateParameterInt (int crate, std::string name, int timeout=2)
 Get a parameter of a power supply crate that should be interpreted as an integer.

float ddcGetCrateParameterFloat (int crate, std::string name, int timeout=2)
 Get a parameter of a power supply crate that should be interpreted as a float.

std::string ddcGetCrateParameterString (int crate, std::string name, int timeout=2)
 Get a parameter of a power supply crate that should be interpreted as a string.

void ddcGetCrateParameters (int crate, std::vector< std::string > names, std::map< std::string, float > &dpeValues, int timeout)
void ddcSetChannelParameter (int crate, int channel, std::string name, float value, int timeout=2)
 Set a parameter on a power supply channel.

void ddcSetCardParameter (int crate, int card, std::string name, float value, int timeout=2)
 Set a parameter on a power supply card.

void ddcSetCrateParameter (int crate, std::string name, float value, int timeout=2)
 Set a parameter on a power supply crate.

void tidyHistogramming ()
 Stop all tasks to do with histogramming.

long getRodSlot (unsigned int partition, unsigned int crate, unsigned int rod)
 Return slot this ROD is in.

int getRodRevision (unsigned int partition, unsigned int crate, unsigned int rod)
 Return the revision of a ROD.

int getRodRevision (const RodLabel &label)
 Return the revision of a ROD.

void testLinkOutSelect (unsigned int partition, unsigned int crate, unsigned int rod, unsigned int link)
 Select link to send to ROD front panel LEMO.

unsigned int testLinkOutRetrieve (unsigned int partition, unsigned int crate, unsigned int rod)
 Return selected link to send to ROD front panel LEMO.

void unsetDebugOption (std::string opt)
 Disable a debug option.

void setDebugOption (std::string opt)
 Enable a debug option.

std::list< std::string > listEnabledDebugOptions ()
 Get the currently enabled debug options.

std::vector< std::string > listDebugOptions ()
 List possible debug options.

void debugStepHistogram ()
 Perform a step in a histogram which is in a stalled state.

void debugContinueHistogram ()
 Continue a histogram which was previously stalled.

void debugAbortHistogram ()
 Try to abort the current histogram.

void eventTrapSetup (int slaveMask, int trapMatch, int trapMod, int trapRemain, bool tim, bool error, boost::shared_ptr< PrimListWrapper > primList)
 Setup event trapping.

void startEventTrap (int slave, boost::shared_ptr< PrimListWrapper > primList)
 Start event trap on a slave.

void stopEventTrap (int slave, boost::shared_ptr< PrimListWrapper > primList)
 Stop event trap on a slave.

void rodMode (unsigned int partition, unsigned int crate, unsigned int rod, int mode, int flag, int fifoSetup, int nBins, int delay, int message)
 Direct write of ROD mode!

void setupModuleMask (unsigned int partition, unsigned int crate, unsigned int rod, int port, int slvs)
 Set module masks.

void setupModuleMask (int port, int slvs, boost::shared_ptr< PrimListWrapper > list)
 Add set module masks command to primitive list.

std::pair< UINT32, UINT32 > sendData (unsigned int partition, unsigned int crate, unsigned int rod, int type, int dsp)
 Send a SEND_DATA primitive and retrieve the (pointer, length) result.

void resumePolling ()
 Resume the primitive polling thread.

void stopPolling ()
 Pause the primitive polling thread.

void print_calib (unsigned int partition, unsigned int crate, unsigned int rod)
 Print ROD calibration registers.

int synchSendPrimListAllCrates (boost::shared_ptr< PrimListWrapper > primList, int timeout=10)
 A helper function for other methods in this class, to be used only internally to this class as it exposes the RodPrimList class.

void stopHistogramming (const ScanEx &ex)
 Stop the histogramming and event trapping tasks.

void setSlaveBlock (unsigned int partition, unsigned int crate, unsigned int rod, int s, long sAdd, int words, long value=0, bool usePrim=true)
 Set block of slave memory to value (using RW_SLAVE_MEMORY).

void writeRODRegister (unsigned int partition, unsigned int crate, unsigned int rod, int reg, int off, int width, int value)
 Write to a ROD register.

unsigned int readRODRegister (unsigned int partition, unsigned int crate, unsigned int rod, int r)
 Read a register from the ROD.

int pollRegister (unsigned int partition, unsigned int crate, unsigned int rod, int r, int off, int width, int val, int timeout=1000000)
 Poll a register.

virtual unsigned long * readFifo (unsigned int partition, unsigned int crate, unsigned int rod, int id, int bank, int elems)
void startHistogramTask (const Scan &scan, const ScanEx &ex, const RodLabel, unsigned int startBin, unsigned int nBins, unsigned int nTrigs, boost::shared_ptr< PrimListWrapper > list)
 Create histogram task primitive.

void sendPrimList (unsigned int partition, unsigned int crate, unsigned int rod, boost::shared_ptr< PrimListWrapper > prim)
 A helper function for other methods in this class, to be used only internally to this class as it exposes the RodPrimList class.


Data Fields

MRSStream * mrs
ISInfoDictionary * m_isDict

Static Public Attributes

const unsigned int BAD_MODULE
 The constant returned as an unknown module.


Protected Member Functions

virtual int initialiseRod (unsigned int partition, unsigned int crate, unsigned int rod)
 Proxy for Crate.

virtual int initialiseModule (std::string module)
 Load module configuration from database Send module configuration to ROD.

ABCDModule * lookupConfig (UINT32 mid)
 Lookup module configuration in the cache.

virtual bool preScanHardwareCheck (Scan &scan, ScanEx &extra)
 Perform necessary hardware checks before a scan.

virtual void doHistogramSetup (const Scan &scan, const ScanEx &extra)
UINT32 * readEventBuffer (unsigned int partition, unsigned int crate, unsigned int rod, int sl, bool extFlag, bool errorType)
 IPC: Needs feedback, immediate response Conf: No Communication.

int getLastEventFrame (unsigned int partition, unsigned int crate, unsigned int rod, int slave)
 Return the frame in which the last event starts.

virtual int pollHistogramming (boost::shared_ptr< ScanControl > controller, int timeout=5)
 Wait for the number of bins to equal (bins - 1) on all master dsps involved in the scan.

void scanLoop ()
void scanPollingThread ()
void addRodToList (RodLabel newRod)
RodInfo & SctApi::getRodInfo (const RodLabel &l)

Protected Attributes

std::list< RodLabel > rodList
 List all the RODs.

std::map< RodLabel, RodInfo > rodInfoList
 List them again, but with additional info...

std::map< UINT32, ABCDModule > moduleMap
 Cache of module configurations.

boost::shared_ptr< ScanControlscanController
boost::shared_ptr< ScanControllastScanController

Private Member Functions

 SctApi (const SctApi &)
SctApioperator= (const SctApi &)
void setup ()
 This sets the unexpected handler to interpret all sorts of exceptions.

void dumpPrimList (boost::shared_ptr< PrimListWrapper > prim)
 If requested, dump prim list to file and/or log to output.

void dumpRawEvent (unsigned int partition, unsigned int crate, unsigned int rod, int units, unsigned long *bufferA, unsigned long *bufferB)
 Save raw event to file.

void doRawScanThreadInnards (boost::shared_ptr< Scan > scan, int delay, int width, bool configureModules, bool clkBy2)
 Called by doRawScanThread.

void doRawScanThread (boost::shared_ptr< Scan > scan, int delay, int width, bool configureModules, bool clkBy2)
 Called by doRawScan.

void sendSlavePrimList (unsigned int partition, unsigned int crate, unsigned int rod, boost::shared_ptr< PrimListWrapper > prim, unsigned int slave, bool await, bool response)
 Send a RodPrimList to the Master DSP which contains the RodPrimList which is passed as an argument.

void sendPrimListAll (unsigned int partition, unsigned int crate, boost::shared_ptr< PrimListWrapper > prim)
 A helper function for other methods in this class, to be used only internally to this class as it exposes the RodPrimList class.

void setupEventTrapping (const Scan &scan, const ScanEx &ex, const RodLabel, boost::shared_ptr< PrimListWrapper > list)
 Setup event trapping according to scan and ex.

void startEventTrapping (const Scan &scan, const ScanEx &ex, const RodLabel, boost::shared_ptr< PrimListWrapper > primList)
 Start event trapping according to scan and ex.

void setupEventDump (const Scan &scan, const ScanEx &ex, const RodLabel, boost::shared_ptr< PrimListWrapper > list)
 Setup an event dump according to scan and ex.

void setupHistogramming (const Scan &scan, const ScanEx &ex, const RodLabel, bool tim, boost::shared_ptr< PrimListWrapper > list)
 Setup histogramming according to scan and ex.

void calib_init ()
 Setup ROD for calibration.

void readRawData (unsigned int partition, unsigned int crate, unsigned int rod, int delay, bool setMask)
 Read raw data from all links into one "histogram".

virtual int setupRawData (unsigned int partition, unsigned int crate, unsigned int rod, int delay, int units, bool setMask, const Trigger *trig=0)
 Put raw data into FIFOs ready to read out.

CrategetCrate (unsigned int partition, unsigned int crate) const
 Lookup the Crate object to send instructions to.

void cacheModuleConfig (UINT32 mid)
 Put module mid into the cache (if present in the configuration).

void getrpcrc (UINT32 mid, unsigned int &rpartition, unsigned int &rcrate, unsigned int &rrod, unsigned &rchannel)
 XXX What does it do on failure!!!

void initDDC ()
 I think I have to do this after ILU is running (otherwise SCTDCSCommand can't do the stuff it needs to initialise).

void setupScanMasks (ScanEx &extra, int distSlave, bool dual)
 Setup module, dsp masks etc.

bool checkModuleListsForScan ()
 Return whether check passed.

void preScanModuleSetup (Scan &scan)
 Needs scan to know whether to set formatters into expanded mode.

bool checkDebugOption (std::string opt)
bool checkDebugOption (int opt)

Private Attributes

boost::shared_ptr< SctConfiguration::Configurationconfig
 The configuration database.

IPCPartition * ddcPartition
std::string * ddcCtrls [2]
SCTDCSCommand * ddcCmd
boost::shared_ptr< DCSAccessdcsAccess
boost::shared_ptr< PrimListWrapperdebugPrimList
 The current debug primitive list.

std::map< std::pair< unsigned
int, unsigned int >, Crate * > 
crateMap
 Map to retrieve crate objects.

Log log
 Log everything that is called.

boost::shared_ptr< const ScanlastDebugScan
 For debug only, save the scan information.

boost::shared_ptr< const ScanExlastDebugScanEx
UINT32 scanNumber
 Current scan number.

UINT32 runNumber
 Current run number.

boost::condition scanQueue_notEmpty
boost::mutex scanQueue_mutex
std::auto_ptr< boost::thread > scanPollThread
bool m_stopPolling
bool m_inScanLoop
bool m_inRawScanLoop
boost::mutex logMutex

Detailed Description

SctApi class.

This is the API used by the rest of the world to interact with SCT Modules using RODs.

Functionality that should be included in this class includes.

Modules are referred to by an "mid" which is a 32bit number packed in hex as PPCCRRCH where: PP is the partition CC is the crate RR is the ROD CH is the ROD channel

DAQ run level transitions: Boot Load and run the crate controller (Done automatically in DAQ-1 from configuration) Load Load config? Config Send config to Modules Start Mode for execution of scans

Configuration: loading from file loading to modules fine grained control on modules recovering module configuration from the ROD Save configuration

Reconfiguring from new configuration file

Scanning: perform scans over configuration variable(s)

DCS: minimal DCS communication

ROD diagnostics: Flash LEDs Text buffer retrieval Memory dumps Send arbitrary primitives to a single ROD

Indexing: There are several ways of addressing a ROD or module the canonical method is partition, crate, rod, module

Other methods include: Geographical: barrel/disc MUR, number MUR: Partition, MUR, number

Definition at line 266 of file SctApi.h.


Constructor & Destructor Documentation

SctApi::SctApi::SctApi  ) 
 

Default to local xmlConfig.

Definition at line 78 of file SctApi.cxx.

References config, and setup().

Here is the call graph for this function:

SctApi::SctApi::SctApi boost::shared_ptr< SctConfiguration::Configuration newConf  ) 
 

Specify configuration.


Member Function Documentation

void SctApi::SctApi::abortScan  ) 
 

Abort any long term activity.

Unimplemented

DDC: No action IPC: Immediate response Conf: No communication

Definition at line 2215 of file SctApi.cxx.

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

IPC: Immediate response (expert) Conf: No Interaction.

Definition at line 587 of file SctApi.cxx.

References debugPrimList, and log.

Referenced by TApi::addDebugPrimList().

void SctApi::SctApi::autoConfigure  ) 
 

Suggest values for configuration.

1) Perform probe scan of tx channels and interpret giving connections of modules to tx channels

Definition at line 1181 of file SctApi.cxx.

int SctApi::SctApi::awaitResponse unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  timeout
 

IPC: Allow during a scan (only expert mode) Conf: no interaction!

Definition at line 1368 of file SctApi.cxx.

References SctApi::Crate::awaitResponse(), config, getCrate(), log, and SctApi::Crate::status().

Referenced by TApi::awaitResponse(), bocHistogram(), debugContinueHistogram(), debugStepHistogram(), defaultScan(), getABCDModule(), getABCDModuleRaw(), modifyABCDVarROD(), SctApi::ScanControlRODHisto::nextBin(), pollHistogramming(), pollRegister(), primReadSlaveDsp(), primWriteSlaveDsp(), readRODRegister(), rodMode(), sendABCDModule(), sendData(), sendL1A(), sendTrigger(), setABCDModule(), setSlaveBlock(), setupModuleMask(), setupRawData(), SctApi::ScanControlRODHisto::startHistogramming(), startSlave(), stopHistogramming(), testLinkOutSelect(), tidyHistogramming(), and writeRODRegister().

Here is the call graph for this function:

int SctApi::SctApi::awaitResponseAll unsigned int  partition,
unsigned int  crate,
int  timeout
 

IPC: Allow during a scan (only expert mode) Conf: no interaction!

Definition at line 1413 of file SctApi.cxx.

References SctApi::Crate::awaitResponseAll(), getCrate(), and log.

Referenced by freeTriggers(), sendAllABCDModules(), stopTriggers(), and synchSendPrimListAllCrates().

Here is the call graph for this function:

void SctApi::SctApi::awaitScan  ) 
 

Await completion of a scan (alternative to checking IS running entry).

Definition at line 228 of file SctApiHisto.cxx.

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

Run the ROD "BOC histogram" primitive.

Definition at line 2613 of file SctApi.cxx.

References awaitResponse(), getResponse(), and sendPrimList().

Referenced by TApi::bocHistogram().

Here is the call graph for this function:

void SctApi::SctApi::cacheModuleConfig UINT32  mid  )  [private]
 

Put module mid into the cache (if present in the configuration).

Definition at line 269 of file SctApi.cxx.

References config, log, and moduleMap.

Referenced by initialiseModule(), and lookupConfig().

void SctApi::SctApi::calib_init  )  [private]
 

Setup ROD for calibration.

new style calib_init

Definition at line 2254 of file SctApi.cxx.

References setupModuleMask(), and synchSendPrimListAllCrates().

Referenced by initialiseAll(), loadModuleConfigurations(), preScanModuleSetup(), and rawData().

Here is the call graph for this function:

void SctApi::SctApi::changeRunState int  state  ) 
 

Change run state of all power modules.

One of Off, Standby, On

DDC: Primary purpose IPC: Not during scan Conf: No communication

Definition at line 122 of file SctApiDDC.cxx.

bool SctApi::SctApi::checkAllModulesProbe std::string  value  ) 
 

Probe all modules and check that value returned by probe is one of the characters specified.

Parameters:
value Set of chars allowed as response to probe

Definition at line 1026 of file SctApiRaw.cxx.

References config, convertToString(), moduleMap, probe(), and rodList.

Referenced by TApi::checkAllModulesProbe(), preScanHardwareCheck(), and startupModules().

Here is the call graph for this function:

bool SctApi::SctApi::checkModuleListsForScan  )  [private]
 

Return whether check passed.

Definition at line 3398 of file SctApi.cxx.

References config, getrpcrc(), lookupConfig(), and moduleMap.

Referenced by doScan().

Here is the call graph for this function:

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

IPC: Don't do during a scan Conf: Definite interaction!

Definition at line 1792 of file SctApi.cxx.

References SctApi::Crate::configureBOC(), getCrate(), and log.

Referenced by TApi::configureBOC().

Here is the call graph for this function:

void SctApi::SctApi::convertToBarrelModule UINT32  mid,
UINT32 &  barrel,
UINT32 &  row,
int &  number
 

IPC: Immediate response Conf: Lookup.

Definition at line 1641 of file SctApi.cxx.

References BAD_MODULE, config, and log.

void SctApi::SctApi::convertToEndcapModule UINT32  mid,
INT32 &  disk,
UINT32 &  quadrant,
UINT32 &  number
 

IPC: Immediate response Conf: Lookup.

Definition at line 1682 of file SctApi.cxx.

References BAD_MODULE, config, and log.

pair< INT32, INT32 > SctApi::SctApi::convertToMUR UINT32  mid  ) 
 

IPC: Immediate response Conf: Lookup.

Definition at line 1598 of file SctApi.cxx.

References BAD_MODULE, config, and log.

string SctApi::SctApi::convertToString UINT32  mid  ) 
 

IPC: Immediate response Conf: Lookup.

Definition at line 1556 of file SctApi.cxx.

References config, and log.

Referenced by checkAllModulesProbe(), doRawScanThreadInnards(), getModuleList(), SctApi::ScanControlRODHisto::readHistogramData(), SctApi::ScanControlRODHisto::readHistograms(), setupScanMasks(), standardRegisterDump(), status(), and storeModuleConfigurations().

void SctApi::SctApi::createDebugPrimList  ) 
 

IPC: Immediate response (expert) Conf: No Interaction.

Definition at line 578 of file SctApi.cxx.

References debugPrimList, and log.

Referenced by TApi::createDebugPrimList().

BOCGlobalConfig SctApi::SctApi::currentBOCRegisters unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

IPC: Immediate response (Needs results by IPC) Conf: No communication.

Definition at line 2690 of file SctApi.cxx.

References SctApi::Crate::currentBOCRegisters(), and getCrate().

Here is the call graph for this function:

vector< BOCChannelConfig > SctApi::SctApi::currentBOCSetup unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

IPC: Immediate response (Needs results by IPC) Conf: No communication.

Definition at line 2682 of file SctApi.cxx.

References SctApi::Crate::currentBOCSetup(), and getCrate().

Here is the call graph for this function:

void SctApi::SctApi::ddcChangeState int  crate,
int  channel,
short  state,
int  timeout = 2
 

Change state on one channel.

Definition at line 139 of file SctApiDDC.cxx.

References initDDC().

Here is the call graph for this function:

void SctApi::SctApi::ddcChangeStateAll int  crate,
short  state,
int  timeout = 2
 

Change state on all power supply channels.

Definition at line 146 of file SctApiDDC.cxx.

References initDDC().

Here is the call graph for this function:

float SctApi::SctApi::ddcGetCardParameterFloat int  crate,
int  card,
std::string  name,
int  timeout = 2
 

Get a card parameter that should be interpreted as a float.

Definition at line 230 of file SctApiDDC.cxx.

References initDDC(), and log.

Here is the call graph for this function:

int SctApi::SctApi::ddcGetCardParameterInt int  crate,
int  card,
std::string  name,
int  timeout = 2
 

Get a card parameter that should be interpreted as an integer.

Definition at line 216 of file SctApiDDC.cxx.

References initDDC(), and log.

Here is the call graph for this function:

string SctApi::SctApi::ddcGetCardParameterString int  crate,
int  card,
std::string  name,
int  timeout = 2
 

Get a card parameter that should be interpreted as a string (probably an error).

Definition at line 244 of file SctApiDDC.cxx.

References initDDC(), and log.

Here is the call graph for this function:

float SctApi::SctApi::ddcGetChannelParameterFloat int  crate,
int  channel,
std::string  name,
int  timeout = 2
 

Get a parameter that should be interpreted as a float.

Definition at line 188 of file SctApiDDC.cxx.

References initDDC(), and log.

Here is the call graph for this function:

int SctApi::SctApi::ddcGetChannelParameterInt int  crate,
int  channel,
std::string  name,
int  timeout = 2
 

Get a parameter that should be interpreted as an integer.

Definition at line 174 of file SctApiDDC.cxx.

References initDDC(), and log.

Here is the call graph for this function:

string SctApi::SctApi::ddcGetChannelParameterString int  crate,
int  channel,
std::string  name,
int  timeout = 2
 

Get a parameter that should be interpreted as a string (most likely an error).

Definition at line 202 of file SctApiDDC.cxx.

References initDDC(), and log.

Here is the call graph for this function:

float SctApi::SctApi::ddcGetCrateParameterFloat int  crate,
std::string  name,
int  timeout = 2
 

Get a parameter of a power supply crate that should be interpreted as a float.

Definition at line 272 of file SctApiDDC.cxx.

References initDDC(), and log.

Here is the call graph for this function:

int SctApi::SctApi::ddcGetCrateParameterInt int  crate,
std::string  name,
int  timeout = 2
 

Get a parameter of a power supply crate that should be interpreted as an integer.

Definition at line 258 of file SctApiDDC.cxx.

References initDDC(), and log.

Here is the call graph for this function:

void SctApi::SctApi::ddcGetCrateParameters int  crate,
std::vector< std::string >  names,
std::map< std::string, float > &  dpeValues,
int  timeout
 

Parameters:
crate The crate id
names A list of strings representing parameters
dpeValues The return value, map parameter name strings to values

Definition at line 300 of file SctApiDDC.cxx.

References initDDC(), and log.

Here is the call graph for this function:

string SctApi::SctApi::ddcGetCrateParameterString int  crate,
std::string  name,
int  timeout = 2
 

Get a parameter of a power supply crate that should be interpreted as a string.

Definition at line 286 of file SctApiDDC.cxx.

References initDDC(), and log.

Here is the call graph for this function:

void SctApi::SctApi::ddcHardReset int  crate,
int  channel,
int  timeout = 2
 

Send hard reset to power supply channel.

Definition at line 160 of file SctApiDDC.cxx.

References initDDC().

Here is the call graph for this function:

void SctApi::SctApi::ddcHardResetAll int  crate,
int  timeout = 2
 

Send hard reset to all channels in power supply crate.

Definition at line 167 of file SctApiDDC.cxx.

References initDDC().

Here is the call graph for this function:

void SctApi::SctApi::ddcLoadConfiguration int  crate,
short  state,
int  timeout = 2
 

Load power supply crate configuration for particular state.

Definition at line 153 of file SctApiDDC.cxx.

References initDDC().

Here is the call graph for this function:

void SctApi::SctApi::ddcSetCardParameter int  crate,
int  card,
std::string  name,
float  value,
int  timeout = 2
 

Set a parameter on a power supply card.

Definition at line 319 of file SctApiDDC.cxx.

References initDDC(), and log.

Here is the call graph for this function:

void SctApi::SctApi::ddcSetChannelParameter int  crate,
int  channel,
std::string  name,
float  value,
int  timeout = 2
 

Set a parameter on a power supply channel.

Definition at line 309 of file SctApiDDC.cxx.

References initDDC(), and log.

Referenced by setSelect().

Here is the call graph for this function:

void SctApi::SctApi::ddcSetCrateParameter int  crate,
std::string  name,
float  value,
int  timeout = 2
 

Set a parameter on a power supply crate.

Definition at line 329 of file SctApiDDC.cxx.

References initDDC(), and log.

Here is the call graph for this function:

void SctApi::SctApi::debugAbortHistogram  ) 
 

Try to abort the current histogram.

This may not work. The DSP can be in a state where the abort signal is delayed in its interpretation

Definition at line 3092 of file SctApi.cxx.

References dspSingleRead(), dspSingleWrite(), and tidyHistogramming().

Here is the call graph for this function:

void SctApi::SctApi::debugContinueHistogram  ) 
 

Continue a histogram which was previously stalled.

This only works if the histogram is at the end of a bin

Definition at line 3071 of file SctApi.cxx.

References awaitResponse(), dspSingleWrite(), and standardRegisterDump().

Here is the call graph for this function:

void SctApi::SctApi::debugPrimListFromFile std::string  fileName  ) 
 

This doesn't check the primlist checksum (but slave lists will need the correct sum).

Definition at line 630 of file SctApi.cxx.

References debugPrimList.

void SctApi::SctApi::debugStepHistogram  ) 
 

Perform a step in a histogram which is in a stalled state.

Definition at line 3045 of file SctApi.cxx.

References awaitResponse(), dspSingleWrite(), and standardRegisterDump().

Here is the call graph for this function:

void SctApi::SctApi::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).

Definition at line 2798 of file SctApi.cxx.

References config, and dspBlockRead().

Referenced by TApi::decodeConfig().

Here is the call graph for this function:

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

IPC: Needs feedback, immediate response Conf: No Communication.

Definition at line 169 of file SctApiEvent.cxx.

References SctApi::hasPostSeptember2004Firmware(), and readEventBuffer().

Referenced by TApi::decodeEvent().

Here is the call graph for this function:

void SctApi::SctApi::defaultScan int  type  ) 
 

IPC: Not during any other scan Conf: No communication.

Definition at line 1911 of file SctApi.cxx.

References awaitResponse(), SctApi::Crate::checkBOCLasersOn(), getCrate(), getResponse(), log, SctApi::Crate::RODPresent(), sendPrimList(), and setup().

Referenced by TApi::defaultScan().

Here is the call graph for this function:

void SctApi::SctApi::doRawScan boost::shared_ptr< Scan scan,
int  delay,
int  width,
bool  configureModules = false,
bool  clkBy2 = false
 

IPC: Not during any other scan Conf: Lookup.

Definition at line 185 of file SctApiRaw.cxx.

References log.

Referenced by TApi::doRawScan().

void SctApi::SctApi::doRawScanThread boost::shared_ptr< Scan scan,
int  delay,
int  width,
bool  configureModules,
bool  clkBy2
[private]
 

Called by doRawScan.

Definition at line 197 of file SctApiRaw.cxx.

References doRawScanThreadInnards().

Here is the call graph for this function:

void SctApi::SctApi::doRawScanThreadInnards boost::shared_ptr< Scan scan,
int  delay,
int  width,
bool  configureModules,
bool  clkBy2
[private]
 

Called by doRawScanThread.

Definition at line 251 of file SctApiRaw.cxx.

References SctApi::Crate::checkBOCLasersOn(), ScanHeader::config, config, SctApi::Crate::configureBOC(), convertToString(), scan_result_ptrs::data, ScanHeader::dataType, dumpRawEvent(), ScanHeader::endTime, SctApi::Crate::enterBOCClockBy2Mode(), getCrate(), scan_result_ptrs::header, SctApi::Crate::leaveBOCClockBy2Mode(), ScanHeader::length, log, SctApi::lookupFifoHit(), modifyABCDVar(), moduleMap, ScanHeader::moduleName, scan_result_ptrs::nErrorEvents, scan_result_ptrs::nEvents, ScanHeader::npoints, ScanHeader::pntData, ScanHeader::pntErrors, ScanHeader::pntEvents, ScanHeader::pntPoints, scan_result_ptrs::points, printBOCSetup(), SctData::ScanResultWriter::publish(), rawData(), rodList, ScanHeader::runNumber, runNumber, SctApi::saveHistogramToFile(), ScanHeader::scanNumber, scanNumber, ScanHeader::scanType, sendAllABCDModules(), setABCDModules(), setupRawData(), ScanHeader::size, ScanHeader::startTime, SctApi::Scan::TrigPoints, ScanHeader::version, and ScanHeader::width.

Referenced by doRawScanThread().

Here is the call graph for this function:

void SctApi::SctApi::doScan boost::shared_ptr< Scan scan  ) 
 

DDC: Check modules configured...

Check select IPC: Not during any other scan Conf: Lookup

Definition at line 48 of file SctApiHisto.cxx.

References SctApi::RodScanEx::bitFieldDSP, SctApi::RodScanEx::channels, checkModuleListsForScan(), SctApi::RodScanEx::groupChannels, log, preScanHardwareCheck(), preScanModuleSetup(), runNumber, scanNumber, setupScanMasks(), SctApi::RodScanEx::slaveChannels, and SctApi::RodScanEx::slaves.

Referenced by TApi::doScan().

Here is the call graph for this function:

int SctApi::SctApi::dspBlockDump unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
long  dspStart,
long  numWords,
long  dspNumber,
bool  usePrim = true
 

Dump contents of a block of DSP memory to cout.

Parameters:
dspNumber Slave number, -1 for the Master DSP.
usePrim Use a primitive instead of direct VME access
IPC: Possible during a scan Conf: No interaction

Definition at line 40 of file SctApiBlock.cxx.

References dspBlockRead(), and log.

Referenced by TApi::dspBlockDump().

Here is the call graph for this function:

int SctApi::SctApi::dspBlockDumpFile unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
long  dspStart,
long  numWords,
long  dspNumber,
std::string  filename,
bool  usePrim = true
 

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

Use dspNumber -1 to refer to the master DSP.

Parameters:
dspNumber Slave number, -1 for the Master DSP.
usePrim Use a primitive instead of direct VME access
IPC: Possible during a scan Conf: No interaction

Definition at line 76 of file SctApiBlock.cxx.

References dspBlockRead(), and log.

Referenced by TApi::dspBlockDumpFile(), and standardRegisterDump().

Here is the call graph for this function:

unsigned long * SctApi::SctApi::dspBlockRead unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
long  dspStart,
long  numWords,
long  dspNumber,
unsigned long &  length,
bool  usePrim = true
 

Use dspNumber -1 to refer to the master DSP.

IPC: Possible during a scan Conf: No interaction

Definition at line 109 of file SctApiBlock.cxx.

References getCrate(), log, SctApi::Crate::mdspBlockRead(), primReadSlaveDsp(), and SctApi::Crate::slvBlockRead().

Referenced by decodeConfig(), dspBlockDump(), dspBlockDumpFile(), TApi::dspBlockRead(), dspSingleBlockRead(), SctApi::ScanControlRODHisto::dumpHistoStatus(), SctApi::ScanControlRODHisto::getProcTime(), and SctApi::ScanControlRODHisto::getTrapBuffers().

Here is the call graph for this function:

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

Use dspNumber -1 to refer to the master DSP.

IPC: Possible during a scan Conf: No interaction

Definition at line 158 of file SctApiBlock.cxx.

References getCrate(), log, SctApi::Crate::mdspBlockWrite(), primWriteSlaveDsp(), and SctApi::Crate::slvBlockWrite().

Referenced by TApi::dspBlockWrite(), dspSingleBlockWrite(), and setSlaveBlock().

Here is the call graph for this function:

unsigned long SctApi::SctApi::dspSingleBlockRead unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
long  dspStart,
long  dspNumber
 

Same prototype as dspSingleRead but safer (for slave DSPs).

Definition at line 192 of file SctApiBlock.cxx.

References dspBlockRead().

Referenced by SctApi::ScanControlRODHisto::finishHistogram(), and SctApi::ScanControlRODHisto::startHistogramming().

Here is the call graph for this function:

void SctApi::SctApi::dspSingleBlockWrite unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
unsigned long  dspAddress,
unsigned long  val,
long  dspNumber
 

Same prototype as dspSingleWrite but safer (for slave DSPs).

Definition at line 205 of file SctApiBlock.cxx.

References dspBlockWrite().

Referenced by SctApi::ScanControlRODHisto::finishHistogram(), and SctApi::ScanControlRODHisto::startHistogramming().

Here is the call graph for this function:

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

IPC: Immediate response Conf: No interaction.

Definition at line 208 of file SctApi.cxx.

References SctApi::Crate::dspSingleRead(), getCrate(), and log.

Referenced by SctApi::ScanControlRODHisto::checkScanCompleteROD(), debugAbortHistogram(), TApi::dspSingleRead(), SctApi::ScanControlRODHisto::dumpHistoStatus(), and SctApi::ScanControlRODHisto::getEventCounter().

Here is the call graph for this function:

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

IPC: Immediate response (expert only) Conf: No interaction.

Definition at line 225 of file SctApi.cxx.

References SctApi::Crate::dspSingleWrite(), getCrate(), and log.

Referenced by debugAbortHistogram(), debugContinueHistogram(), debugStepHistogram(), TApi::dspSingleWrite(), and SctApi::ScanControlRODHisto::startHistogramming().

Here is the call graph for this function:

void SctApi::SctApi::dumpDebugPrimList  ) 
 

Perform a binary dump of the debug prim list.

Definition at line 672 of file SctApi.cxx.

References debugPrimList, and dumpPrimList().

Here is the call graph for this function:

void SctApi::SctApi::dumpPrimList boost::shared_ptr< PrimListWrapper prim  )  [private]
 

If requested, dump prim list to file and/or log to output.

Definition at line 1253 of file SctApi.cxx.

References Sct::SctNames::getTempDir(), and log.

Referenced by dumpDebugPrimList(), sendPrimList(), and sendPrimListAll().

Here is the call graph for this function:

void SctApi::SctApi::dumpRawEvent unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  units,
unsigned long *  bufferA,
unsigned long *  bufferB
[private]
 

Save raw event to file.

Definition at line 107 of file SctApiRaw.cxx.

References Sct::SctNames::getTempDir().

Referenced by doRawScanThreadInnards(), and probeWithTrigger().

Here is the call graph for this function:

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

IPC: Possible during a scan? Conf: No interaction.

Definition at line 148 of file SctApiLow.cxx.

References log, and sendPrimList().

Referenced by TApi::echo().

Here is the call graph for this function:

void SctApi::SctApi::echoAll unsigned int  length,
const unsigned long *  data
 

IPC: Possible during a scan? Conf: No interaction.

Definition at line 174 of file SctApiLow.cxx.

References crateMap, log, and sendPrimListAll().

Referenced by TApi::echoAll().

Here is the call graph for this function:

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

IPC: Possible during a scan? Conf: No interaction.

Definition at line 203 of file SctApiLow.cxx.

References log, and sendSlavePrimList().

Referenced by TApi::echoSlave().

Here is the call graph for this function:

void SctApi::SctApi::eventTrapSetup int  slaveMask,
int  trapMatch,
int  trapMod,
int  trapRemain,
bool  tim,
bool  error,
boost::shared_ptr< PrimListWrapper primList
 

Setup event trapping.

A reduced set of parameters compared to the primitive is used.

Definition at line 1555 of file SctApiHisto.cxx.

Referenced by setupEventTrapping().

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

IPC: Immediate response Conf: Lookup.

Definition at line 1620 of file SctApi.cxx.

References BAD_MODULE, config, and log.

Referenced by TApi::findBarrelModule().

UINT32 SctApi::SctApi::findEndcapModule INT32  disk,
INT32  quadrant,
INT32  number
 

IPC: Immediate response Conf: Lookup.

Definition at line 1662 of file SctApi.cxx.

References BAD_MODULE, config, and log.

Referenced by TApi::findEndcapModule().

UINT32 SctApi::SctApi::findModule INT32  mur,
INT32  module
 

IPC: Immediate response Conf: Lookup.

Definition at line 1579 of file SctApi.cxx.

References BAD_MODULE, config, and log.

UINT32 SctApi::SctApi::findModule std::string  sn  ) 
 

Parameters:
sn Module serial number
Returns:
The unique identifier, BAD_MODULE if not found
IPC: Immediate response Conf: Lookup

Definition at line 1536 of file SctApi.cxx.

References BAD_MODULE, config, and log.

Referenced by TApi::findModule(), and SctApi::ScanControlRODHisto::readHistograms().

void SctApi::SctApi::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.

Parameters:
period Flash period given in ms
slaveNumber Slave number or -1 for Master
IPC: Possible during a scan? Conf: No interaction

Definition at line 233 of file SctApiLow.cxx.

References log, sendPrimList(), and sendSlavePrimList().

Referenced by TApi::flashLED().

Here is the call graph for this function:

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

IPC: Not during scan Conf: No communication.

Definition at line 2729 of file SctApi.cxx.

References awaitResponseAll(), SctApi::Crate::freeTriggers(), getCrate(), and sendPrimListAll().

Referenced by TApi::freeTriggers().

Here is the call graph for this function:

void SctApi::SctApi::getABCDModule UINT32  mid,
BankType  bank
[virtual]
 

IPC: Immediate response Conf: Lookup.

Definition at line 42 of file SctApiMConf.cxx.

References awaitResponse(), getResponse(), log, lookupConfig(), moduleMap, and sendPrimList().

Referenced by TApi::getABCDModule(), getABCDModules(), printABCDRodModule(), and SctApi::ScanControlRODHisto::readHistogramData().

Here is the call graph for this function:

boost::shared_ptr< ABCDModule > SctApi::SctApi::getABCDModuleRaw unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
UINT32  slot,
BankType  bank
[virtual]
 

IPC: Immediate response Conf: Lookup.

Definition at line 116 of file SctApiMConf.cxx.

References awaitResponse(), getResponse(), log, and sendPrimList().

Here is the call graph for this function:

void SctApi::SctApi::getABCDModules BankType  bank  ) 
 

IPC: Immediate response Conf: Lookup.

Definition at line 30 of file SctApiMConf.cxx.

References getABCDModule(), log, and moduleMap.

Referenced by TApi::getABCDModules().

Here is the call graph for this function:

std::vector< double > SctApi::SctApi::getBOCMonitorArray unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

IPC: Should be OK during scan, only reads from BOC Conf: Nothing.

Definition at line 1807 of file SctApi.cxx.

References SctApi::Crate::getBOCMonitorArray(), getCrate(), and log.

Here is the call graph for this function:

Crate * SctApi::SctApi::getCrate unsigned int  partition,
unsigned int  crate
const [private]
 

Lookup the Crate object to send instructions to.

Return 0 if not found.

Definition at line 1357 of file SctApi.cxx.

References crateMap.

Referenced by awaitResponse(), awaitResponseAll(), configureBOC(), currentBOCRegisters(), currentBOCSetup(), defaultScan(), doRawScanThreadInnards(), dspBlockRead(), dspBlockWrite(), dspSingleRead(), dspSingleWrite(), freeTriggers(), getBOCMonitorArray(), getLastEventFrame(), getResponse(), getRodMessage(), getRodRevision(), getRodSlot(), initialiseAll(), initialiseRod(), isRODPresent(), modifyABCDVar(), modifyBOCParam(), preScanHardwareCheck(), printBOCRegisters(), printBOCSetup(), probeWithTrigger(), readEventBuffer(), readRodCommandReg(), readRodStatusReg(), restoreBOCRegisters(), restoreBOCSetup(), saveBOCRegisters(), saveBOCSetup(), sendABCDModule(), sendAllABCDModules(), sendPrimList(), sendPrimListAll(), sendSlavePrimList(), sendTimBurst(), setupEventTrapping(), setupHistogramming(), standardRegisterDump(), startEventTrapping(), stopTriggers(), timBCReset(), timCalL1A(), timL1A(), timReadRegister(), timSetFrequency(), timSoftReset(), timVerbose(), and timWriteRegister().

int SctApi::SctApi::getLastEventFrame unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  slave
[protected]
 

Return the frame in which the last event starts.

Definition at line 667 of file SctApiEvent.cxx.

References getCrate(), SctApi::Crate::getRodRevision(), and primReadSlaveDsp().

Referenced by reportEventErrors(), and scanEvents().

Here is the call graph for this function:

std::list< std::string > SctApi::SctApi::getModuleList  ) 
 

Return list of configured modules.

Definition at line 1138 of file SctApi.cxx.

References convertToString(), and moduleMap.

Here is the call graph for this function:

unsigned long * SctApi::SctApi::getResponse unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
unsigned long &  length
 

(No interaction with VME) IPC: Allow during a scan (only expert mode) Conf: No interaction!

Definition at line 1444 of file SctApi.cxx.

References getCrate(), SctApi::Crate::getResponse(), Sct::SctNames::getTempDir(), and log.

Referenced by bocHistogram(), defaultScan(), getABCDModule(), getABCDModuleRaw(), TApi::getResponse(), pollRegister(), primReadSlaveDsp(), readRODRegister(), sendData(), and startSlave().

Here is the call graph for this function:

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

Get a message in the text buffer.

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

Definition at line 1520 of file SctApi.cxx.

References getCrate(), SctApi::Crate::getRodMessage(), and log.

Referenced by TApi::getRodMessage().

Here is the call graph for this function:

int SctApi::SctApi::getRodRevision const RodLabel &  label  ) 
 

Return the revision of a ROD.

Definition at line 2966 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::getRodRevision().

Here is the call graph for this function:

int SctApi::SctApi::getRodRevision unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

Return the revision of a ROD.

Definition at line 2957 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::getRodRevision().

Referenced by SctApi::ScanControlRODHisto::dumpHistoStatus(), SctApi::ScanControlRODHisto::finishHistogram(), SctApi::ScanControlRODHisto::getHistogramChunk(), SctApi::ScanControlRODHisto::getProcTime(), SctApi::ScanControlRODHisto::getTrapBuffers(), and SctApi::ScanControlRODHisto::startHistogramming().

Here is the call graph for this function:

long SctApi::SctApi::getRodSlot unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

Return slot this ROD is in.

Definition at line 2948 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::getRodSlot().

Here is the call graph for this function:

void SctApi::SctApi::getrpcrc UINT32  mid,
unsigned int &  rpartition,
unsigned int &  rcrate,
unsigned int &  rrod,
unsigned &  rchannel
[private]
 

XXX What does it do on failure!!!

Referenced by checkModuleListsForScan(), and setupScanMasks().

UINT32 SctApi::SctApi::getRunNumber  ) 
 

IPC: Don't do during a scan.

Definition at line 1130 of file SctApi.cxx.

References runNumber.

UINT32 SctApi::SctApi::getScanNumber  ) 
 

IPC: Don't do during a scan.

Definition at line 1134 of file SctApi.cxx.

References scanNumber.

void SctApi::SctApi::initDDC  )  [private]
 

I think I have to do this after ILU is running (otherwise SCTDCSCommand can't do the stuff it needs to initialise).

Definition at line 21 of file SctApiDDC.cxx.

Referenced by ddcChangeState(), ddcChangeStateAll(), ddcGetCardParameterFloat(), ddcGetCardParameterInt(), ddcGetCardParameterString(), ddcGetChannelParameterFloat(), ddcGetChannelParameterInt(), ddcGetChannelParameterString(), ddcGetCrateParameterFloat(), ddcGetCrateParameterInt(), ddcGetCrateParameters(), ddcGetCrateParameterString(), ddcHardReset(), ddcHardResetAll(), ddcLoadConfiguration(), ddcSetCardParameter(), ddcSetChannelParameter(), ddcSetCrateParameter(), requestIVCurve(), and setSelectAllInCrate().

void SctApi::SctApi::initialiseAll int  run  ) 
 

Initialise the crates and create the Rod/Vme objects.

Load the system configuration from the database. Create crates and RODs as necessary. Calls initialiseRod and initialiseModule as necessary.

Store the module configuration in the RODs (UNIMPLEMENTED)

Return: 0 for success Possibly error code for failure

IPC: Block everything else!

Definition at line 862 of file SctApi.cxx.

References calib_init(), config, crateMap, debugPrimList, getCrate(), SctApi::Crate::initialiseCrate(), initialiseModule(), initialiseRod(), log, moduleMap, rodList, runNumber, SctApi::Crate::setMrsStream(), SctApi::Crate::status(), and testLinkOutSelect().

Referenced by TApi::initialiseAll().

Here is the call graph for this function:

int SctApi::SctApi::initialiseModule std::string  module  )  [protected, virtual]
 

Load module configuration from database Send module configuration to ROD.

Return 0 for success

Definition at line 683 of file SctApi.cxx.

References cacheModuleConfig(), config, log, and setABCDModule().

Referenced by initialiseAll(), and loadModuleConfigurations().

Here is the call graph for this function:

int SctApi::SctApi::initialiseRod unsigned int  partition,
unsigned int  crate,
unsigned int  rod
[protected, virtual]
 

Proxy for Crate.

Return 0 for success

Definition at line 729 of file SctApi.cxx.

References config, SctConfiguration::SlaveConfig::extFile, getCrate(), SctApi::Crate::getRodRevision(), SctConfiguration::SlaveConfig::idramFile, SctConfiguration::SlaveConfig::ipramFile, log, SctApi::Crate::RODPresent(), SctConfiguration::RodConfig::slaves, SctApi::Crate::slaveStarted(), and startSlave().

Referenced by initialiseAll().

Here is the call graph for this function:

bool SctApi::SctApi::isRODPresent unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

Return true if ROD can accept commands (Doesn't go so far as to access ROD hardware).

Definition at line 1153 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::RODPresent().

Referenced by modifyABCDVarROD().

Here is the call graph for this function:

void SctApi::SctApi::lasersOff  ) 
 

IPC: Immediate response Conf: No communication.

Definition at line 2710 of file SctApi.cxx.

References crateMap, and log.

Referenced by TApi::lasersOff(), and shutdownAll().

const std::list< CrateLabel > SctApi::SctApi::listCrates  )  const
 

Return a list of the RODs that have been configured.

Definition at line 49 of file SctApiMulti.cxx.

References crateMap.

Referenced by SctApi::ScanControlTIMHisto::nextBin().

std::vector< std::string > SctApi::SctApi::listDebugOptions  ) 
 

List possible debug options.

DDC: No action IPC: Class action, immediate response Conf: No communication

Definition at line 3033 of file SctApi.cxx.

std::list< std::string > SctApi::SctApi::listEnabledDebugOptions  ) 
 

Get the currently enabled debug options.

DDC: No action IPC: Class action, immediate response Conf: No communication

Definition at line 3029 of file SctApi.cxx.

const std::list< RodLabel > SctApi::SctApi::listRods  )  const
 

Return a list of the RODs that have been configured.

Definition at line 45 of file SctApiMulti.cxx.

References rodList.

Referenced by SctApi::ScanControlRODHisto::readHistograms().

void SctApi::SctApi::loadConfiguration std::string  filename  ) 
 

IPC: Don't do during a scan Conf: Definite interaction!

Definition at line 1715 of file SctApi.cxx.

References config, loadModuleConfigurations(), log, and moduleMap.

Here is the call graph for this function:

void SctApi::SctApi::loadConfiguration  ) 
 

IPC: Don't do during a scan Conf: Definite interaction!

Definition at line 1704 of file SctApi.cxx.

References log.

Referenced by TApi::loadConfiguration().

shared_array< unsigned long > SctApi::SctApi::loadFile std::string  filename,
unsigned long &  length
 

Get block of memory from file.

Definition at line 351 of file SctApiBlock.cxx.

int SctApi::SctApi::loadModuleConfigurations  ) 
 

Return number of module loaded.

Definition at line 1734 of file SctApi.cxx.

References calib_init(), config, initialiseModule(), and rodList.

Referenced by loadConfiguration(), and TApi::loadModuleConfigurations().

Here is the call graph for this function:

ABCDModule * SctApi::SctApi::lookupConfig UINT32  mid  )  [protected]
 

Lookup module configuration in the cache.

Definition at line 237 of file SctApi.cxx.

References cacheModuleConfig(), log, and moduleMap.

Referenced by checkModuleListsForScan(), getABCDModule(), modifyABCDMask(), modifyABCDRC(), modifyABCDTrims(), modifyABCDVar(), printABCDModule(), printABCDRodModule(), retrieveModule(), setABCDModule(), setupScanMasks(), standardRegisterDump(), and status().

Here is the call graph for this function:

void SctApi::SctApi::modifyABCDMask UINT32  mid,
UINT32 *  mask
 

Set the channel mask of all chips in a module.

IPC: Not during scan Conf: No communication

Definition at line 176 of file SctApiModify.cxx.

References log, and lookupConfig().

Referenced by TApi::modifyABCDMask().

Here is the call graph for this function:

void SctApi::SctApi::modifyABCDRC UINT32  mid,
UINT32  chip,
UINT16  function,
FLOAT32  p0,
FLOAT32  p1,
FLOAT32  p2
 

IPC: Not during scan Conf: No communication.

Definition at line 193 of file SctApiModify.cxx.

References log, and lookupConfig().

Here is the call graph for this function:

void SctApi::SctApi::modifyABCDTrims UINT32  mid,
UINT8 *  trims
 

Modify a module's trim configuration.

IPC: Not during scan Conf: No communication

Definition at line 208 of file SctApiModify.cxx.

References log, and lookupConfig().

Referenced by TApi::modifyABCDTrims().

Here is the call graph for this function:

void SctApi::SctApi::modifyABCDVar UINT32  mid,
UINT32  chip,
UINT32  typ,
FLOAT32  var
 

IPC: Not during scan Conf: No communication.

Definition at line 513 of file SctApiModify.cxx.

References getCrate(), log, lookupConfig(), and SctApi::Crate::modifyBOCParam().

Here is the call graph for this function:

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

IPC: Not during scan Conf: No communication.

Definition at line 272 of file SctApiModify.cxx.

References getCrate(), log, lookupConfig(), modifyABCDVar(), and SctApi::Crate::modifyBOCParam().

Here is the call graph for this function:

void SctApi::SctApi::modifyABCDVar UINT32  typ,
FLOAT32  var
 

IPC: Not during scan Conf: No communication.

Definition at line 227 of file SctApiModify.cxx.

References getCrate(), log, SctApi::Crate::modifyBOCParam(), moduleMap, and rodList.

Referenced by doRawScanThreadInnards(), TApi::modifyABCDVar(), and modifyABCDVar().

Here is the call graph for this function:

void SctApi::SctApi::modifyABCDVarROD UINT32  type,
FLOAT32  value,
BankType  bank
 

IPC: Not during scan Conf: No communication.

Definition at line 640 of file SctApiMConf.cxx.

References awaitResponse(), isRODPresent(), log, rodList, and sendPrimList().

Here is the call graph for this function:

void SctApi::SctApi::modifyABCDVarROD UINT32  mid,
UINT32  typ,
FLOAT32  var,
BankType  bank
 

IPC: Not during scan Conf: No communication.

Definition at line 607 of file SctApiMConf.cxx.

References awaitResponse(), isRODPresent(), log, and sendPrimList().

Here is the call graph for this function:

void SctApi::SctApi::modifyABCDVarROD UINT32  mid,
UINT32  chip,
UINT32  typ,
FLOAT32  var,
BankType  bank
 

IPC: Not during scan Conf: No communication.

Definition at line 574 of file SctApiMConf.cxx.

References awaitResponse(), isRODPresent(), log, and sendPrimList().

Referenced by TApi::modifyABCDVarROD(), and SctApi::ScanControlTIMHisto::nextBin().

Here is the call graph for this function:

void SctApi::SctApi::modifyBOCParam unsigned int  type,
unsigned int  val
 

IPC: Not during scan Conf: No communication.

Definition at line 2665 of file SctApi.cxx.

References crateMap, getCrate(), and SctApi::Crate::modifyBOCParam().

Here is the call graph for this function:

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

IPC: Not during scan Conf: No communication.

Definition at line 2673 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::modifyBOCParam().

Here is the call graph for this function:

int SctApi::SctApi::pollHistogramming boost::shared_ptr< ScanControl controller,
int  timeout = 5
[protected, virtual]
 

Wait for the number of bins to equal (bins - 1) on all master dsps involved in the scan.

Then wait for the number of events on the slave to equal to events

Timeout if the bin count doesn't change, and if the number of events doesn't change

Definition at line 1360 of file SctApiHisto.cxx.

References awaitResponse().

Here is the call graph for this function:

int SctApi::SctApi::pollRegister unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  r,
int  off,
int  width,
int  val,
int  timeout = 1000000
 

Poll a register.

Definition at line 70 of file SctApiLow.cxx.

References awaitResponse(), getResponse(), log, and sendPrimList().

Here is the call graph for this function:

bool SctApi::SctApi::preScanHardwareCheck Scan scan,
ScanEx extra
[protected, virtual]
 

Perform necessary hardware checks before a scan.

Returns:
true if successful, false otherwise

Definition at line 3482 of file SctApi.cxx.

References checkAllModulesProbe(), SctApi::Crate::checkBOCLasersOn(), getCrate(), SctApi::Scan::getOption(), SctApi::ScanEx::rodInfo, and SctApi::Crate::slavePresent().

Referenced by doScan().

Here is the call graph for this function:

void SctApi::SctApi::preScanModuleSetup Scan scan  )  [private]
 

Needs scan to know whether to set formatters into expanded mode.

Definition at line 3556 of file SctApi.cxx.

References calib_init(), SctApi::Scan::getOption(), SctApi::Scan::getScanVariable1(), SctApi::Scan::getTrigger1(), moduleMap, print_calib(), sendAllABCDModules(), setABCDModules(), and synchSendPrimListAllCrates().

Referenced by doScan().

Here is the call graph for this function:

unsigned long * SctApi::SctApi::primReadSlaveDsp unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  s,
int  add,
int  words
 

Don't use if important to preserve primitive state!

Returns new[]ed block of memory

IPC: Possible during a scan Conf: No interaction

Definition at line 246 of file SctApiBlock.cxx.

References awaitResponse(), getResponse(), log, and sendPrimList().

Referenced by dspBlockRead(), SctApi::ScanControlRODHisto::getEventCountChunk(), SctApi::ScanControlRODHisto::getHistogramChunk(), getLastEventFrame(), and readEventBuffer().

Here is the call graph for this function:

void SctApi::SctApi::primWriteSlaveDsp unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  s,
int  add,
int  numWords,
unsigned long *  data
 

Don't use if important to preserve primitive state!

IPC: Possible during a scan Conf: No interaction

Definition at line 296 of file SctApiBlock.cxx.

References awaitResponse(), log, and sendPrimList().

Referenced by dspBlockWrite().

Here is the call graph for this function:

void SctApi::SctApi::print_calib unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

Print ROD calibration registers.

Definition at line 2280 of file SctApi.cxx.

References readRODRegister().

Referenced by SctApi::ScanControlRODHisto::finishHistogram(), and preScanModuleSetup().

Here is the call graph for this function:

void SctApi::SctApi::printABCDModule int  mid  ) 
 

Uses the sctConf method.

IPC: Not very useful without feedback Conf: Possible lookup

Definition at line 2647 of file SctApi.cxx.

References config, and lookupConfig().

Referenced by TApi::printABCDModule(), and SctApi::ScanControlRODHisto::readHistogramData().

Here is the call graph for this function:

void SctApi::SctApi::printABCDRodModule int  mid,
BankType  bank
 

First retrieve the configuration from the ROD Uses the sctConf method.

IPC: Not very useful without feedback Conf: Possible lookup

Definition at line 2657 of file SctApi.cxx.

References config, getABCDModule(), and lookupConfig().

Here is the call graph for this function:

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

IPC: Immediate response Conf: No communication.

Definition at line 2686 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::printBOCRegisters().

Here is the call graph for this function:

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

IPC: Immediate response Conf: No communication.

Definition at line 2678 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::printBOCSetup().

Referenced by doRawScanThreadInnards().

Here is the call graph for this function:

vector< char > SctApi::SctApi::probe unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
signed int  harness = -1
 

Do quick scan of channels Recognises all the same, clock by 2 and an event header Return a char for each link examined 0 All zero's 1 All one's 2 Clock by 2 4 Clock by 4 L L1A E Event Header S Soft Reset B BC Reset J Junk (ie anything else).

IPC: Needs feedback, some delay to response Conf: Some lookup?!

Definition at line 978 of file SctApiRaw.cxx.

References probeWithTrigger().

Referenced by checkAllModulesProbe(), and TApi::probe().

Here is the call graph for this function:

vector< char > SctApi::SctApi::probeWithTrigger unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
const Trigger trigger,
signed int  harness = -1
 

Do quick scan of channels Recognises all the same, clock by 2 and an event header Return a char for each link examined 0 All zero's 1 All one's 2 Clock by 2 4 Clock by 4 L L1A E Event Header S Soft Reset B BC Reset J Junk (ie anything else).

IPC: Needs feedback, some delay to response Conf: Some lookup?!

Definition at line 708 of file SctApiRaw.cxx.

References SctApi::Crate::checkBOCLasersOn(), dumpRawEvent(), getCrate(), SctApi::lookupFifoHit(), SctApi::Crate::RODPresent(), and setupRawData().

Referenced by probe(), and TApi::probeWithTrigger().

Here is the call graph for this function:

void SctApi::SctApi::rawData unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  delay,
int  units,
bool  setMask = true,
const Trigger trig = 0
 

IPC: Needs feedback, immediate response Conf: No Communication.

Definition at line 156 of file SctApiRaw.cxx.

References calib_init(), SctApi::lookupFifoHit(), and setupRawData().

Referenced by doRawScanThreadInnards(), and TApi::rawData().

Here is the call graph for this function:

UINT32 * SctApi::SctApi::readEventBuffer unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  sl,
bool  extFlag,
bool  errorType
[protected]
 

IPC: Needs feedback, immediate response Conf: No Communication.

Definition at line 638 of file SctApiEvent.cxx.

References getCrate(), SctApi::Crate::getRodRevision(), and primReadSlaveDsp().

Referenced by decodeEvent(), reportEventErrors(), and scanEvents().

Here is the call graph for this function:

void SctApi::SctApi::readRawData unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  delay,
bool  setMask
[private]
 

Read raw data from all links into one "histogram".

Definition at line 603 of file SctApiRaw.cxx.

References ScanHeader::config, scan_result_ptrs::data, ScanHeader::dataType, scan_result_ptrs::header, ScanHeader::length, log, SctApi::lookupFifoHit(), ScanHeader::moduleName, scan_result_ptrs::nErrorEvents, scan_result_ptrs::nEvents, ScanHeader::npoints, ScanHeader::pntData, ScanHeader::pntErrors, ScanHeader::pntEvents, ScanHeader::pntPoints, scan_result_ptrs::points, runNumber, ScanHeader::runNumber, SctApi::saveHistogramToFile(), scanNumber, ScanHeader::scanNumber, ScanHeader::scanType, setupRawData(), ScanHeader::size, ScanHeader::version, and ScanHeader::width.

Here is the call graph for this function:

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

IPC: Immediate response Conf: No interaction.

Definition at line 190 of file SctApi.cxx.

References getCrate(), log, and SctApi::Crate::readRodCommandReg().

Referenced by TApi::readRodCommandReg().

Here is the call graph for this function:

unsigned int SctApi::SctApi::readRODRegister unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  r
 

Read a register from the ROD.

Definition at line 38 of file SctApiLow.cxx.

References awaitResponse(), getResponse(), log, and sendPrimList().

Referenced by print_calib(), SctApi::ScanControlTIMHisto::startHistogramming(), and testLinkOutRetrieve().

Here is the call graph for this function:

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

IPC: Immediate response Conf: No interaction.

Definition at line 172 of file SctApi.cxx.

References getCrate(), log, and SctApi::Crate::readRodStatusReg().

Referenced by TApi::readRodStatusReg().

Here is the call graph for this function:

void SctApi::SctApi::reportEventErrors  ) 
 

Suggest problems with modules based on events in event buffer.

Definition at line 389 of file SctApiEvent.cxx.

References getLastEventFrame(), Sct::SctNames::getLogDir(), SctApi::hasPostSeptember2004Firmware(), readEventBuffer(), rodList, runNumber, and scanNumber.

Referenced by SctApi::ScanControlRODHisto::reportEventErrors().

Here is the call graph for this function:

void SctApi::SctApi::requestHardReset UINT32  mid  ) 
 

Request hard reset of module mid.

DDC: Primary purpose IPC: Not during scan Conf: Some lookup?!

Definition at line 36 of file SctApiDDC.cxx.

References config.

void SctApi::SctApi::requestHardResetAll  ) 
 

Request hard reset on all modules.

DDC: Primary purpose IPC: Not during scan Conf: Some lookup?!

Definition at line 31 of file SctApiDDC.cxx.

void SctApi::SctApi::requestIVCurve UINT32  mid,
FLOAT32  start,
FLOAT32  stop,
FLOAT32  step,
UINT16  delay,
FLOAT32  currentLim
 

Request initialisation of an IV scan.

DDC: Primary purpose IPC: Not during scan, result will be asynchronous Conf: Some lookup?!

Definition at line 57 of file SctApiDDC.cxx.

References config, initDDC(), and log.

Here is the call graph for this function:

void SctApi::SctApi::requestIVCurveAll FLOAT32  start,
FLOAT32  stop,
FLOAT32  step,
UINT16  delay,
FLOAT32  currentLim
 

Request initialisation of an IV scan on all modules.

DDC: Primary purpose IPC: Not during scan, result will be asynchronous Conf: Some lookup?!

Definition at line 92 of file SctApiDDC.cxx.

void SctApi::SctApi::restoreBOCRegisters unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
BankType  bank
 

Restore BOC registers.

Definition at line 2706 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::restoreBOCRegisters().

Referenced by TApi::restoreBOCRegisters().

Here is the call graph for this function:

void SctApi::SctApi::restoreBOCSetup unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
BankType  bank
 

Response BOC setup.

Definition at line 2702 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::restoreBOCSetup().

Referenced by TApi::restoreBOCSetup().

Here is the call graph for this function:

void SctApi::SctApi::resumePolling  ) 
 

Resume the primitive polling thread.

Definition at line 3660 of file SctApi.cxx.

References crateMap.

ABCDModule * SctApi::SctApi::retrieveModule UINT32  mid  ) 
 

Module data as cached from Configuration.

IPC: Immediate response Conf: Interaction

Definition at line 569 of file SctApi.cxx.

References log, and lookupConfig().

Referenced by SctApi::ScanControlRODHisto::readHistogramData(), and TApi::retrieveModule().

Here is the call graph for this function:

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

Direct write of ROD mode!

Definition at line 2220 of file SctApi.cxx.

References awaitResponse(), and sendPrimList().

Referenced by TApi::rodMode(), and setupRawData().

Here is the call graph for this function:

void SctApi::SctApi::saveBOCRegisters unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
BankType  bank
 

Save BOC registers.

Definition at line 2698 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::saveBOCRegisters().

Referenced by TApi::saveBOCRegisters().

Here is the call graph for this function:

void SctApi::SctApi::saveBOCSetup unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
BankType  bank
 

Save BOC setup.

Definition at line 2694 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::saveBOCSetup().

Referenced by TApi::saveBOCSetup().

Here is the call graph for this function:

void SctApi::SctApi::scanEvents unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  sl,
bool  extFlag,
bool  errorType
 

IPC: Needs feedback, immediate response Conf: No Communication.

Definition at line 70 of file SctApiEvent.cxx.

References getLastEventFrame(), SctApi::hasPostSeptember2004Firmware(), and readEventBuffer().

Referenced by TApi::scanEvents().

Here is the call graph for this function:

std::vector<std::vector<char> > SctApi::SctApi::SctApi::probeScan unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
boost::shared_ptr< Scan scan,
signed int  harness = -1
 

Scan over a variable and perform a probe for each.

void SctApi::SctApi::sendABCDModule UINT32  mid,
BankType  bank,
ConfigType  type = SCTAPI_CONFIG_ALL,
const bool  enableDataMode = true
[virtual]
 

Parameters:
mid Unique identifier of the module to send
bank Configuration bank in the ROD
type How much configuration to transmit
DDC: Check module state Set select line IPC: Not during scan Conf: No Lookup

Definition at line 502 of file SctApiMConf.cxx.

References awaitResponse(), SctApi::Crate::checkBOCLasersOn(), getCrate(), log, and sendPrimList().

Referenced by TApi::sendABCDModule(), and sendAllABCDModules().

Here is the call graph for this function:

void SctApi::SctApi::sendAllABCDModules BankType  bank,
ConfigType  type = SCTAPI_CONFIG_ALL,
const bool  enableDataMode = true
[virtual]
 

Parameters:
bank Configuration bank in the ROD
type How much configuration to transmit
DDC: Check module state Set select line IPC: Not during scan Conf: No Lookup

Definition at line 280 of file SctApiMConf.cxx.

References awaitResponseAll(), SctApi::Crate::checkBOCLasersOn(), crateMap, getCrate(), log, moduleMap, rodList, sendABCDModule(), sendPrimListAll(), setupModuleMask(), and synchSendPrimListAllCrates().

Referenced by doRawScanThreadInnards(), SctApi::ScanControlTIMHisto::nextBin(), preScanModuleSetup(), TApi::sendABCDModules(), and startupModules().

Here is the call graph for this function:

pair< UINT32, UINT32 > SctApi::SctApi::sendData unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  type,
int  dsp
 

Send a SEND_DATA primitive and retrieve the (pointer, length) result.

Definition at line 267 of file SctApiLow.cxx.

References awaitResponse(), getResponse(), sendPrimList(), and sendSlavePrimList().

Referenced by SctApi::ScanControlRODHisto::getEventCountChunk(), and SctApi::ScanControlRODHisto::getHistogramChunk().

Here is the call graph for this function:

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

IPC: Immediate response (expert) Conf: No Interaction.

Definition at line 598 of file SctApi.cxx.

References debugPrimList, log, and sendPrimList().

Referenced by TApi::sendDebugPrimList().

Here is the call graph for this function:

void SctApi::SctApi::sendDebugPrimListAll  ) 
 

IPC: Immediate response (expert) Conf: No Interaction.

Definition at line 607 of file SctApi.cxx.

References crateMap, debugPrimList, log, and sendPrimListAll().

Referenced by TApi::sendDebugPrimListAll().

Here is the call graph for this function:

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

Send the previously created prim list to a slave dsp.

Parameters:
await Master prim list waits for slave list to complete
response Expect a reply
IPC: Immediate response (expert) Conf: No Interaction

Definition at line 621 of file SctApi.cxx.

References debugPrimList, log, and sendSlavePrimList().

Referenced by TApi::sendDebugSlavePrimList().

Here is the call graph for this function:

void SctApi::SctApi::sendL1A unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
bool  capture = false
 

The mask is unchanged in this function and it is set up to go to all modules.

IPC: Not during scan Conf: No Communication

Definition at line 2562 of file SctApi.cxx.

References awaitResponse(), log, and sendPrimList().

Referenced by setupRawData().

Here is the call graph for this function:

void SctApi::SctApi::sendPrimList unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
boost::shared_ptr< PrimListWrapper prim
 

A helper function for other methods in this class, to be used only internally to this class as it exposes the RodPrimList class.

Definition at line 1192 of file SctApi.cxx.

References dumpPrimList(), getCrate(), log, and SctApi::Crate::sendPrimList().

Referenced by bocHistogram(), defaultScan(), echo(), flashLED(), getABCDModule(), getABCDModuleRaw(), modifyABCDVarROD(), SctApi::ScanControlRODHisto::nextBin(), pollRegister(), primReadSlaveDsp(), primWriteSlaveDsp(), readRODRegister(), rodMode(), sendABCDModule(), sendData(), sendDebugPrimList(), sendL1A(), sendSlavePrimList(), sendTrigger(), setABCDModule(), setSlaveBlock(), setupModuleMask(), setupRawData(), SctApi::ScanControlRODHisto::startHistogramming(), startSlave(), stopHistogramming(), testLinkOutSelect(), tidyHistogramming(), and writeRODRegister().

Here is the call graph for this function:

void SctApi::SctApi::sendPrimListAll unsigned int  partition,
unsigned int  crate,
boost::shared_ptr< PrimListWrapper prim
[private]
 

A helper function for other methods in this class, to be used only internally to this class as it exposes the RodPrimList class.

Definition at line 1214 of file SctApi.cxx.

References dumpPrimList(), getCrate(), log, and SctApi::Crate::sendPrimListAll().

Referenced by echoAll(), freeTriggers(), sendAllABCDModules(), sendDebugPrimListAll(), stopTriggers(), and synchSendPrimListAllCrates().

Here is the call graph for this function:

void SctApi::SctApi::sendSlavePrimList unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
boost::shared_ptr< PrimListWrapper prim,
unsigned int  slave,
bool  await,
bool  response
[private]
 

Send a RodPrimList to the Master DSP which contains the RodPrimList which is passed as an argument.

Parameters:
await If true master waits for completion of slave primlist
response If true master expects reponse from slave

Definition at line 1325 of file SctApi.cxx.

References getCrate(), log, sendPrimList(), and SctApi::Crate::slavePresent().

Referenced by echoSlave(), flashLED(), sendData(), and sendDebugSlavePrimList().

Here is the call graph for this function:

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

Send burst of triggers to TIM.

Definition at line 2499 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::sendTimBurst().

Referenced by SctApi::ScanControlTIMHisto::nextBin().

Here is the call graph for this function:

void SctApi::SctApi::sendTimTrigger unsigned int  partition,
unsigned int  crate,
const Trigger trig
 

IPC: Not during any other scan Conf: No communication.

Definition at line 2495 of file SctApi.cxx.

void SctApi::SctApi::sendTrigger unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
const Trigger trig
 

IPC: Not during any other scan Conf: No communication.

Definition at line 2503 of file SctApi.cxx.

References awaitResponse(), SctApi::Trigger::getRODTriggers(), log, and sendPrimList().

Referenced by TApi::sendTrigger(), and setupRawData().

Here is the call graph for this function:

void SctApi::SctApi::setABCDModule UINT32  mid,
BankType  bank
[virtual]
 

IPC: Don't do during scan Conf: Possible cache.

Definition at line 205 of file SctApiMConf.cxx.

References awaitResponse(), log, lookupConfig(), sendPrimList(), and setupModuleMask().

Referenced by initialiseModule(), TApi::setABCDModule(), and setABCDModules().

Here is the call graph for this function:

void SctApi::SctApi::setABCDModules BankType  bank  )  [virtual]
 

IPC: Don't do during scan Conf: Possible cache.

Definition at line 176 of file SctApiMConf.cxx.

References log, moduleMap, rodList, and setABCDModule().

Referenced by doRawScanThreadInnards(), preScanModuleSetup(), TApi::setABCDModules(), and storeModuleConfigurations().

Here is the call graph for this function:

void SctApi::SctApi::setDebugOption std::string  opt  ) 
 

Enable a debug option.

DDC: No action IPC: Class action Conf: No communication

Definition at line 3021 of file SctApi.cxx.

void SctApi::SctApi::setIsDictionary ISInfoDictionary *  dict  ) 
 

C++ only method to tell a IS aware program where to write to.

Definition at line 163 of file SctApi.cxx.

void SctApi::SctApi::setMrsStream MRSStream *  stream  ) 
 

C++ only method to tell a MRS aware program where to write to.

Definition at line 157 of file SctApi.cxx.

void SctApi::SctApi::setRunNumber UINT32  newRun  ) 
 

IPC: Don't do during a scan.

Definition at line 1068 of file SctApi.cxx.

References runNumber, and scanNumber.

Referenced by TApi::setRunNumber().

void SctApi::SctApi::setScanNumber UINT32  newScan  ) 
 

IPC: Don't do during a scan.

Definition at line 1105 of file SctApi.cxx.

References scanNumber.

Referenced by TApi::setScanNumber().

void SctApi::SctApi::setSelect UINT32  mid,
bool  value
 

Set the select value for module mid.

This is a debug method for DCS. Primary route to this functionality is via modifyABCDVar and sendModule!

DDC: Primary purpose IPC: Not during scan Conf: Some lookup?!

Definition at line 97 of file SctApiDDC.cxx.

References config, and ddcSetChannelParameter().

Here is the call graph for this function:

void SctApi::SctApi::setSelectAllInCrate int  crate,
bool  value,
int  timeout = 5
 

Set the select value for all known power supply channels in a crate.

This is a debug method for DCS. Primary route to this functionality is via modifyABCDVar and sendModule???

DDC: Primary purpose IPC: Not during scan Conf: Some lookup?!

Definition at line 115 of file SctApiDDC.cxx.

References initDDC().

Here is the call graph for this function:

void SctApi::SctApi::setSlaveBlock unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  s,
long  sAdd,
int  words,
long  value = 0,
bool  usePrim = true
 

Set block of slave memory to value (using RW_SLAVE_MEMORY).

Definition at line 214 of file SctApiBlock.cxx.

References awaitResponse(), dspBlockWrite(), log, and sendPrimList().

Here is the call graph for this function:

void SctApi::SctApi::setup  )  [private]
 

This sets the unexpected handler to interpret all sorts of exceptions.

Called by constructor

Definition at line 137 of file SctApi.cxx.

References debugPrimList, and log.

Referenced by defaultScan(), and SctApi().

void SctApi::SctApi::setupEventDump const Scan scan,
const ScanEx ex,
const  RodLabel,
boost::shared_ptr< PrimListWrapper list
[private]
 

Setup an event dump according to scan and ex.

Definition at line 328 of file SctApiHisto.cxx.

References SctApi::Scan::getOption(), and startEventTrap().

Here is the call graph for this function:

void SctApi::SctApi::setupEventTrapping const Scan scan,
const ScanEx ex,
const  RodLabel,
boost::shared_ptr< PrimListWrapper list
[private]
 

Setup event trapping according to scan and ex.

Definition at line 274 of file SctApiHisto.cxx.

References SctApi::RodScanEx::bitFieldDSP, eventTrapSetup(), getCrate(), SctApi::Scan::getOption(), SctApi::ScanEx::getRodScanInfo(), SctApi::Crate::slavePresent(), and SctApi::RodScanEx::slaves.

Here is the call graph for this function:

void SctApi::SctApi::setupHistogramming const Scan scan,
const ScanEx ex,
const  RodLabel,
bool  tim,
boost::shared_ptr< PrimListWrapper list
[private]
 

Setup histogramming according to scan and ex.

Definition at line 427 of file SctApiHisto.cxx.

References SctApi::RodScanEx::bitFieldDSP, SctApi::RodScanEx::channels, getCrate(), SctApi::Scan::getOption(), SctApi::ScanEx::getRodScanInfo(), SctApi::Scan::getScanPoints1(), SctApi::Scan::getScanVariable1(), SctApi::Scan::getScanVariable2(), SctApi::RodScanEx::groupChannels, SctApi::ScanEx::groupDspMap, SctApi::ScanEx::groupSpMap, and SctApi::Crate::slavePresent().

Here is the call graph for this function:

void SctApi::SctApi::setupModuleMask int  port,
int  slvs,
boost::shared_ptr< PrimListWrapper list
 

Add set module masks command to primitive list.

Definition at line 2249 of file SctApi.cxx.

void SctApi::SctApi::setupModuleMask unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  port,
int  slvs
 

Set module masks.

Definition at line 2235 of file SctApi.cxx.

References awaitResponse(), and sendPrimList().

Referenced by calib_init(), sendAllABCDModules(), and setABCDModule().

Here is the call graph for this function:

int SctApi::SctApi::setupRawData unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  delay,
int  units,
bool  setMask,
const Trigger trig = 0
[private, virtual]
 

Put raw data into FIFOs ready to read out.

Definition at line 45 of file SctApiRaw.cxx.

References awaitResponse(), rodMode(), sendL1A(), sendPrimList(), and sendTrigger().

Referenced by doRawScanThreadInnards(), probeWithTrigger(), rawData(), and readRawData().

Here is the call graph for this function:

void SctApi::SctApi::setupScanMasks ScanEx extra,
int  distSlave,
bool  dual
[private]
 

Setup module, dsp masks etc.

Definition at line 3227 of file SctApi.cxx.

References SctApi::RodScanEx::bitFieldDSP, SctApi::RodScanEx::channels, convertToString(), SctApi::RodScanEx::firstSlave, SctApi::ScanEx::getOrNewRod(), SctApi::ScanEx::getRodScanInfo(), getrpcrc(), SctApi::RodScanEx::groupChannels, SctApi::ScanEx::groupDspMap, SctApi::ScanEx::groupLists, SctApi::ScanEx::groupRangeMap, SctApi::ScanEx::groupSpMap, lookupConfig(), moduleMap, rodList, SctApi::RodScanEx::slaveChannels, and SctApi::RodScanEx::slaves.

Referenced by doScan().

Here is the call graph for this function:

void SctApi::SctApi::shutdownAll  ) 
 

Leave everything in a suitable state and delete all the objects.

Shutdown anything that needs shutting down This is where we should send DCS to standby message??

IPC: Block everything else!

Definition at line 1299 of file SctApi.cxx.

References lasersOff(), log, and standardRegisterDumpAll().

Referenced by TApi::shutdownAll().

Here is the call graph for this function:

void SctApi::SctApi::standardRegisterDump unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

Dump to ${tempDir}/Dump_%05d.

Definition at line 3121 of file SctApi.cxx.

References convertToString(), dspBlockDumpFile(), getCrate(), SctApi::Crate::getRodRevision(), Sct::SctNames::getTempDir(), lookupConfig(), moduleMap, and SctApi::Crate::RODPresent().

Here is the call graph for this function:

void SctApi::SctApi::standardRegisterDump RodLabel  rl  ) 
 

Dump to ${tempDir}/Dump_%05d.

Parameters:
rl Refers to the ROD to dump

Definition at line 3117 of file SctApi.cxx.

Referenced by debugContinueHistogram(), debugStepHistogram(), and standardRegisterDumpAll().

void SctApi::SctApi::standardRegisterDumpAll  ) 
 

Dump to ${tempDir}/Dump_%05d RODs sent to consecutive d.

Definition at line 3219 of file SctApi.cxx.

References rodList, and standardRegisterDump().

Referenced by shutdownAll().

Here is the call graph for this function:

void SctApi::SctApi::startEventTrap int  slave,
boost::shared_ptr< PrimListWrapper primList
 

Start event trap on a slave.

Definition at line 1619 of file SctApiHisto.cxx.

Referenced by setupEventDump(), and startEventTrapping().

void SctApi::SctApi::startEventTrapping const Scan scan,
const ScanEx ex,
const  RodLabel,
boost::shared_ptr< PrimListWrapper primList
[private]
 

Start event trapping according to scan and ex.

Definition at line 417 of file SctApiHisto.cxx.

References SctApi::RodScanEx::bitFieldDSP, getCrate(), SctApi::ScanEx::getRodScanInfo(), SctApi::Crate::slavePresent(), and startEventTrap().

Here is the call graph for this function:

void SctApi::SctApi::startHistogramTask const Scan scan,
const ScanEx ex,
const  RodLabel,
unsigned int  startBin,
unsigned int  nBins,
unsigned int  nTrigs,
boost::shared_ptr< PrimListWrapper list
 

Create histogram task primitive.

Definition at line 623 of file SctApiHisto.cxx.

References SctApi::RodScanEx::bitFieldDSP, SctApi::Scan::getOption(), SctApi::ScanEx::getRodScanInfo(), SctApi::Scan::getScanPoints1(), SctApi::Scan::getScanPoints2(), SctApi::Scan::getScanVariable1(), SctApi::Scan::getScanVariable2(), SctApi::Scan::getTrigger1(), SctApi::Scan::getTrigger2(), SctApi::ScanEx::groupDspMap, SctApi::ScanEx::groupRangeMap, SctApi::ScanEx::groupSpMap, and SctApi::ScanEx::trimScan.

Referenced by SctApi::ScanControlRODHisto::nextBin(), and SctApi::ScanControlRODHisto::startHistogramming().

Here is the call graph for this function:

void SctApi::SctApi::startSlave unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
unsigned int  slave
 

Send the start slave primitive to a DSP.

Definition at line 1041 of file SctApi.cxx.

References awaitResponse(), getResponse(), and sendPrimList().

Referenced by initialiseRod().

Here is the call graph for this function:

void SctApi::SctApi::startupModules  ) 
 

DDC: Check modules in configurable state.

Correct run state and no warnings

IPC: Don't do during a scan Conf: Maybe interaction

Definition at line 1164 of file SctApi.cxx.

References checkAllModulesProbe(), and sendAllABCDModules().

Here is the call graph for this function:

void SctApi::SctApi::status  ) 
 

IPC: Immediate response (sane in all eventualities!) Conf: No communication.

Definition at line 1819 of file SctApi.cxx.

References convertToString(), crateMap, log, lookupConfig(), moduleMap, runNumber, and scanNumber.

Here is the call graph for this function:

void SctApi::SctApi::stopEventTrap int  slave,
boost::shared_ptr< PrimListWrapper primList
 

Stop event trap on a slave.

Definition at line 1627 of file SctApiHisto.cxx.

Referenced by stopHistogramming().

void SctApi::SctApi::stopHistogramming const ScanEx ex  ) 
 

Stop the histogramming and event trapping tasks.

Definition at line 838 of file SctApiHisto.cxx.

References awaitResponse(), log, SctApi::ScanEx::rodInfo, sendPrimList(), and stopEventTrap().

Referenced by SctApi::ScanControlRODHisto::finishHistogram().

Here is the call graph for this function:

void SctApi::SctApi::stopPolling  ) 
 

Pause the primitive polling thread.

Definition at line 3665 of file SctApi.cxx.

References crateMap.

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

IPC: Not during scan Conf: No communication.

Definition at line 2749 of file SctApi.cxx.

References awaitResponseAll(), getCrate(), sendPrimListAll(), and SctApi::Crate::stopTriggers().

Referenced by TApi::stopTriggers().

Here is the call graph for this function:

void SctApi::SctApi::storeModuleConfigurations  ) 
 

IPC: Don't do during a scan Conf: Definite interaction!

Definition at line 1779 of file SctApi.cxx.

References config, convertToString(), moduleMap, and setABCDModules().

Here is the call graph for this function:

int SctApi::SctApi::synchSendPrimListAllCrates boost::shared_ptr< PrimListWrapper primList,
int  timeout = 10
 

A helper function for other methods in this class, to be used only internally to this class as it exposes the RodPrimList class.

Definition at line 1230 of file SctApi.cxx.

References awaitResponseAll(), crateMap, and sendPrimListAll().

Referenced by calib_init(), SctApi::ScanControlTIMHisto::nextBin(), SctApi::ScanControlRODHisto::postScanModuleSetup(), preScanModuleSetup(), sendAllABCDModules(), and SctApi::ScanControlTIMHisto::startHistogramming().

Here is the call graph for this function:

unsigned int SctApi::SctApi::testLinkOutRetrieve unsigned int  partition,
unsigned int  crate,
unsigned int  rod
 

Return selected link to send to ROD front panel LEMO.

Definition at line 3006 of file SctApi.cxx.

References readRODRegister().

Here is the call graph for this function:

void SctApi::SctApi::testLinkOutSelect unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
unsigned int  link
 

Select link to send to ROD front panel LEMO.

Definition at line 2975 of file SctApi.cxx.

References awaitResponse(), and sendPrimList().

Referenced by initialiseAll().

Here is the call graph for this function:

void SctApi::SctApi::tidyHistogramming  ) 
 

Stop all tasks to do with histogramming.

This is a lower level function than abort, which returns to a know state

DDC: If changed? IPC: Any time Conf: No communication

Definition at line 2147 of file SctApi.cxx.

References awaitResponse(), log, rodList, and sendPrimList().

Referenced by debugAbortHistogram(), and TApi::tidyHistogramming().

Here is the call graph for this function:

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

IPC: Not during scan Conf: No communication.

Definition at line 2782 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::timBCR().

Referenced by SctApi::ScanControlTIMHisto::nextBin(), and TApi::timBCReset().

Here is the call graph for this function:

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

IPC: Not during scan Conf: No communication.

Definition at line 2773 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::timCalL1A().

Referenced by TApi::timCalL1A().

Here is the call graph for this function:

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

IPC: Not during scan Conf: No communication.

Definition at line 2769 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::timL1A().

Referenced by SctApi::ScanControlTIMHisto::nextBin(), and TApi::timL1A().

Here is the call graph for this function:

UINT16 SctApi::SctApi::timReadRegister unsigned int  partition,
unsigned int  crate,
int  reg
 

Parameters:
reg VME address of the register

Definition at line 2794 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::timRegRead().

Here is the call graph for this function:

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

Freq is approximated by divider circuit Available frequencies are 600, 60, 6, 0.6 kHz Divided by: 1, 2, 3, 4, 5, 6, (10, 12).

Definition at line 2725 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::timSetFrequency().

Referenced by SctApi::ScanControlTIMHisto::nextBin(), and TApi::timSetFrequency().

Here is the call graph for this function:

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

IPC: Not during scan Conf: No communication.

Definition at line 2777 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::timECR().

Referenced by SctApi::ScanControlTIMHisto::nextBin(), and TApi::timSoftReset().

Here is the call graph for this function:

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

Print all TIM registers to stdout.

Definition at line 2786 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::timVerbose().

Referenced by TApi::timVerbose().

Here is the call graph for this function:

void SctApi::SctApi::timWriteRegister unsigned int  partition,
unsigned int  crate,
int  reg,
UINT16  val
 

Parameters:
reg VME address of the register

Definition at line 2790 of file SctApi.cxx.

References getCrate(), and SctApi::Crate::timRegLoad().

Referenced by SctApi::ScanControlTIMHisto::startHistogramming().

Here is the call graph for this function:

void SctApi::SctApi::unsetDebugOption std::string  opt  ) 
 

Disable a debug option.

DDC: No action IPC: Class action Conf: No communication

Definition at line 3025 of file SctApi.cxx.

void SctApi::SctApi::writeRODRegister unsigned int  partition,
unsigned int  crate,
unsigned int  rod,
int  reg,
int  off,
int  width,
int  value
 

Write to a ROD register.

Definition at line 18 of file SctApiLow.cxx.

References awaitResponse(), log, and sendPrimList().

Here is the call graph for this function:


Field Documentation

const unsigned int SctApi::SctApi::BAD_MODULE [static]
 

The constant returned as an unknown module.

Definition at line 72 of file SctApi.cxx.

Referenced by convertToBarrelModule(), convertToEndcapModule(), convertToMUR(), findBarrelModule(), findEndcapModule(), and findModule().

boost::shared_ptr<SctConfiguration::Configuration> SctApi::SctApi::config [private]
 

The configuration database.

Definition at line 1731 of file SctApi.h.

Referenced by awaitResponse(), cacheModuleConfig(), checkAllModulesProbe(), checkModuleListsForScan(), convertToBarrelModule(), convertToEndcapModule(), convertToMUR(), convertToString(), decodeConfig(), doRawScanThreadInnards(), findBarrelModule(), findEndcapModule(), findModule(), initialiseAll(), initialiseModule(), initialiseRod(), loadConfiguration(), loadModuleConfigurations(), printABCDModule(), printABCDRodModule(), requestHardReset(), requestIVCurve(), SctApi(), setSelect(), and storeModuleConfigurations().

std::map<std::pair<unsigned int, unsigned int>, Crate* > SctApi::SctApi::crateMap [private]
 

Map to retrieve crate objects.

Definition at line 1743 of file SctApi.h.

Referenced by echoAll(), getCrate(), initialiseAll(), lasersOff(), listCrates(), modifyBOCParam(), resumePolling(), sendAllABCDModules(), sendDebugPrimListAll(), status(), stopPolling(), and synchSendPrimListAllCrates().

boost::shared_ptr<PrimListWrapper> SctApi::SctApi::debugPrimList [private]
 

The current debug primitive list.

Definition at line 1740 of file SctApi.h.

Referenced by addDebugPrimList(), createDebugPrimList(), debugPrimListFromFile(), dumpDebugPrimList(), initialiseAll(), sendDebugPrimList(), sendDebugPrimListAll(), sendDebugSlavePrimList(), and setup().

boost::shared_ptr<const Scan> SctApi::SctApi::lastDebugScan [private]
 

For debug only, save the scan information.

Definition at line 1749 of file SctApi.h.

Log SctApi::SctApi::log [private]
 

Log everything that is called.

Definition at line 1746 of file SctApi.h.

Referenced by addDebugPrimList(), awaitResponse(), awaitResponseAll(), cacheModuleConfig(), configureBOC(), convertToBarrelModule(), convertToEndcapModule(), convertToMUR(), convertToString(), createDebugPrimList(), ddcGetCardParameterFloat(), ddcGetCardParameterInt(), ddcGetCardParameterString(), ddcGetChannelParameterFloat(), ddcGetChannelParameterInt(), ddcGetChannelParameterString(), ddcGetCrateParameterFloat(), ddcGetCrateParameterInt(), ddcGetCrateParameters(), ddcGetCrateParameterString(), ddcSetCardParameter(), ddcSetChannelParameter(), ddcSetCrateParameter(), defaultScan(), doRawScan(), doRawScanThreadInnards(), doScan(), dspBlockDump(), dspBlockDumpFile(), dspBlockRead(), dspBlockWrite(), dspSingleRead(), dspSingleWrite(), dumpPrimList(), echo(), echoAll(), echoSlave(), findBarrelModule(), findEndcapModule(), findModule(), flashLED(), getABCDModule(), getABCDModuleRaw(), getABCDModules(), getBOCMonitorArray(), getResponse(), getRodMessage(), initialiseAll(), initialiseModule(), initialiseRod(), lasersOff(), loadConfiguration(), lookupConfig(), modifyABCDMask(), modifyABCDRC(), modifyABCDTrims(), modifyABCDVar(), modifyABCDVarROD(), pollRegister(), primReadSlaveDsp(), primWriteSlaveDsp(), readRawData(), readRodCommandReg(), readRODRegister(), readRodStatusReg(), requestIVCurve(), retrieveModule(), sendABCDModule(), sendAllABCDModules(), sendDebugPrimList(), sendDebugPrimListAll(), sendDebugSlavePrimList(), sendL1A(), sendPrimList(), sendPrimListAll(), sendSlavePrimList(), sendTrigger(), setABCDModule(), setABCDModules(), setSlaveBlock(), setup(), shutdownAll(), status(), stopHistogramming(), tidyHistogramming(), and writeRODRegister().

std::map<UINT32, ABCDModule> SctApi::SctApi::moduleMap [protected]
 

Cache of module configurations.

Definition at line 1623 of file SctApi.h.

Referenced by cacheModuleConfig(), checkAllModulesProbe(), checkModuleListsForScan(), doRawScanThreadInnards(), getABCDModule(), getABCDModules(), getModuleList(), initialiseAll(), loadConfiguration(), lookupConfig(), modifyABCDVar(), preScanModuleSetup(), sendAllABCDModules(), setABCDModules(), setupScanMasks(), standardRegisterDump(), status(), and storeModuleConfigurations().

std::map<RodLabel, RodInfo> SctApi::SctApi::rodInfoList [protected]
 

List them again, but with additional info...

Definition at line 1620 of file SctApi.h.

std::list<RodLabel> SctApi::SctApi::rodList [protected]
 

List all the RODs.

Definition at line 1617 of file SctApi.h.

Referenced by checkAllModulesProbe(), doRawScanThreadInnards(), initialiseAll(), listRods(), loadModuleConfigurations(), modifyABCDVar(), modifyABCDVarROD(), reportEventErrors(), sendAllABCDModules(), setABCDModules(), setupScanMasks(), standardRegisterDumpAll(), and tidyHistogramming().

UINT32 SctApi::SctApi::runNumber [private]
 

Current run number.

Definition at line 1756 of file SctApi.h.

Referenced by doRawScanThreadInnards(), doScan(), getRunNumber(), initialiseAll(), readRawData(), reportEventErrors(), setRunNumber(), and status().

UINT32 SctApi::SctApi::scanNumber [private]
 

Current scan number.

Definition at line 1753 of file SctApi.h.

Referenced by doRawScanThreadInnards(), doScan(), getScanNumber(), readRawData(), reportEventErrors(), setRunNumber(), setScanNumber(), and status().


The documentation for this class was generated from the following files:
Generated on Thu Feb 10 02:41:49 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5