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 (const Idiosyncrasy &)
 Default to local xmlConfig.

 SctApi (const Idiosyncrasy &, boost::shared_ptr< SctConfiguration::Configuration > newConf)
 Specify configuration.

const Idiosyncrasy & idiosyncrasy ()
 Method to allow others to see what makes us "special" in comparison to allthe other crate controllers.

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

void setIsDictionary ()
 C++ only method to tell a IS aware program to go and look up the dictionary which will tell it 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 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 storeBOCConfigurations ()
 IPC: Don't do during a scan Conf: Definite interaction!

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

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

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

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

unsigned long * getResponse (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 rod, char *buffer, unsigned long &length)
 Get a message in the text buffer.

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

int dspBlockDump (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 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 rod)
 Dump to ${tempDir}/Dump_%05d.

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

unsigned long * dspBlockRead (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 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 rod, long dspStart, long dspNumber)
 Same prototype as dspSingleRead but safer (for slave DSPs).

void dspSingleBlockWrite (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 rod, int s, int add, int words)
 Don't use if important to preserve primitive state!

void primWriteSlaveDsp (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 rod, unsigned int slave, std::string fileName, unsigned long address, bool usePrim=true)
void startSlave (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 rod, long regNumber)
 IPC: Immediate response Conf: No interaction.

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

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

void dspSingleWrite (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 rod)
 IPC: Immediate response (expert) Conf: No Interaction.

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

void sendDebugSlavePrimList (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.

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 LocalCache: Yes.

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

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

virtual void setABCDModules (std::list< BankType > bank)
 IPC: Don't do during scan Conf: Possible cache LocalCache: Yes.

virtual void setABCDModule (UINT32 mid, std::list< BankType > banks)
 IPC: Don't do during scan Conf: Possible cache LocalCache: Yes.

virtual void copyABCDModule (UINT32 mid, BankType from, std::list< BankType > to)
 Do internal ROD copy of its banks.

virtual void copyABCDModules (BankType from, std::list< BankType > to)
 Do internal ROD copy of its banks - all modules.

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, std::list< BankType > banks)
 IPC: Not during scan Conf: No communication.

void modifyABCDVarROD (UINT32 mid, UINT32 typ, FLOAT32 var, std::list< BankType > banks)
 IPC: Not during scan Conf: No communication.

void modifyABCDVarROD (UINT32 type, FLOAT32 value, std::list< BankType > banks)
 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 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 rod)
 IPC: Immediate response Conf: No communication.

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

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

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

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

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

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

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

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

void timSetFrequency (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 ()
 IPC: Not during scan Conf: No communication.

void stopTriggers ()
 IPC: Not during scan Conf: No communication.

void timL1A ()
 IPC: Not during scan Conf: No communication.

void timCalL1A (int delay)
 IPC: Not during scan Conf: No communication.

void timSoftReset ()
 IPC: Not during scan Conf: No communication.

void timBCReset ()
 IPC: Not during scan Conf: No communication.

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

void timVerbose ()
 Print all TIM registers to stdout.

void timWriteRegister (int reg, UINT16 val)
UINT16 timReadRegister (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...

bool hasFinishedScanning ()
const std::string & nameOfScanStatusObject ()
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 (const Trigger *trig)
 IPC: Not during any other scan Conf: No communication.

void sendTrigger (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 rod, int sl, int index, bool extFlag=false, bool errorType=false)
 IPC: Needs feedback, immediate response Conf: No Communication.

void scanEvents (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 rod, bool skipTrim=false, bool bypass=false)
 Decode config bit stream (only valid after SEND_CONFIG).

void rawData (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 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 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 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 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 rod, unsigned int samples, unsigned int numLoops)
 Run the ROD "BOC histogram" primitive.

SctApiDDC * getSctApiDDC () const
void tidyHistogramming ()
 Stop all tasks to do with histogramming.

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

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

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

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

unsigned int testLinkOutRetrieve (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 rod, int mode, int flag, int fifoSetup, int nBins, int delay, int message)
 Direct write of ROD mode!

void setupModuleMask (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 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 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 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 rod, int reg, int off, int width, int value)
 Write to a ROD register.

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

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

virtual unsigned long * readFifo (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 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
boost::shared_ptr< ISInfoDictionary > m_isDict

Static Public Attributes

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


Protected Member Functions

virtual void really_setABCDModule (UINT32 mid, std::list< BankType > banks)
 version of setABCDModule which will not look at the crate controller's local cache but will actually get it from the ROD

virtual void really_getABCDModule (UINT32 mid, BankType bank)
 version of getABCDModule which will not look at the crate controller's local cache but will actually get it from the ROD

virtual int initialiseRod (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 rod, int sl, bool extFlag, bool errorType)
 IPC: Needs feedback, immediate response Conf: No Communication.

int getLastEventFrame (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 rod, int units, unsigned long *bufferA, unsigned long *bufferB)
 Save raw event to file.

const Sct::UCIDucid () const
unsigned int prt () const
unsigned int crt () const
Sct::URID localRod (const Sct::RodIdentifier rod) const
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 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 (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 rod, int delay, bool setMask)
 Read raw data from all links into one "histogram".

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

CrategetCrate () 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 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)
Loglog ()

Private Attributes

boost::shared_ptr< Idiosyncrasy > m_id
 This Idiosyncrasy is what makes us different from every other crate controller.

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

boost::shared_ptr< DCSAccessm_dcsAccess
boost::shared_ptr< SctApiDDC > m_sctApiDDC
boost::shared_ptr< PrimListWrapperdebugPrimList
 The current debug primitive list.

boost::shared_ptr< CratecrateObject
 Map to retrieve crate objects.

boost::shared_ptr< Logm_log
 Log everything that is called.

boost::shared_ptr< const Scan > lastDebugScan
 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
SctApiConfigCache module_cache
 configuration cache *


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 121 of file SctApi.h.


Constructor & Destructor Documentation

SctApi::SctApi::SctApi const Idiosyncrasy &   ) 
 

Default to local xmlConfig.

Definition at line 89 of file SctApi.cxx.

References config, m_log, and setup().

Here is the call graph for this function:

SctApi::SctApi::SctApi const Idiosyncrasy &  ,
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 2324 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 648 of file SctApi.cxx.

References debugPrimList.

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 1255 of file SctApi.cxx.

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

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

Definition at line 1441 of file SctApi.cxx.

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

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

Here is the call graph for this function:

int SctApi::SctApi::awaitResponseAll int  timeout  ) 
 

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

Definition at line 1485 of file SctApi.cxx.

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

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 242 of file SctApiHisto.cxx.

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

Run the ROD "BOC histogram" primitive.

Definition at line 2737 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 319 of file SctApi.cxx.

References config, and moduleMap.

Referenced by initialiseModule(), and lookupConfig().

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

Setup ROD for calibration.

new style calib_init

Definition at line 2363 of file SctApi.cxx.

References setupModuleMask(), and synchSendPrimListAllCrates().

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

Here is the call graph for this function:

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 1030 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 3514 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  rod  ) 
 

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

Definition at line 1902 of file SctApi.cxx.

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

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 1718 of file SctApi.cxx.

References BAD_MODULE, and config.

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

IPC: Immediate response Conf: Lookup.

Definition at line 1759 of file SctApi.cxx.

References BAD_MODULE, and config.

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

IPC: Immediate response Conf: Lookup.

Definition at line 1675 of file SctApi.cxx.

References BAD_MODULE, and config.

string SctApi::SctApi::convertToString UINT32  mid  ) 
 

IPC: Immediate response Conf: Lookup.

Definition at line 1629 of file SctApi.cxx.

References config.

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

void SctApi::SctApi::copyABCDModule UINT32  mid,
BankType  from,
std::list< BankType >  to
[virtual]
 

Do internal ROD copy of its banks.

toy prim list

Definition at line 121 of file SctApiMConf.cxx.

References awaitResponse(), getABCDModule(), SctApi::SctApiConfigCache::getFromMid(), module_cache, sendPrimList(), and setABCDModule().

Here is the call graph for this function:

void SctApi::SctApi::copyABCDModules BankType  from,
std::list< BankType >  to
[virtual]
 

Do internal ROD copy of its banks - all modules.

Definition at line 112 of file SctApiMConf.cxx.

References getABCDModules(), and setABCDModules().

Here is the call graph for this function:

void SctApi::SctApi::createDebugPrimList  ) 
 

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

Definition at line 639 of file SctApi.cxx.

References debugPrimList.

Referenced by TApi::createDebugPrimList().

BOCGlobalConfig SctApi::SctApi::currentBOCRegisters unsigned int  rod  ) 
 

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

Definition at line 2810 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  rod  ) 
 

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

Definition at line 2802 of file SctApi.cxx.

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

Referenced by storeBOCConfigurations().

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 3208 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 3187 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 686 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 3161 of file SctApi.cxx.

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

Here is the call graph for this function:

void SctApi::SctApi::decodeConfig unsigned int  rod,
bool  skipTrim = false,
bool  bypass = false
 

Decode config bit stream (only valid after SEND_CONFIG).

Definition at line 2914 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  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 2020 of file SctApi.cxx.

References awaitResponse(), SctApi::Crate::checkBOCLasersOn(), getCrate(), getResponse(), 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 189 of file SctApiRaw.cxx.

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 201 of file SctApiRaw.cxx.

References doRawScanThreadInnards(), and m_id.

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 255 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, 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, 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 57 of file SctApiHisto.cxx.

References SctApi::RodScanEx::bitFieldDSP, SctApi::RodScanEx::channels, checkModuleListsForScan(), SctApi::RodScanEx::groupChannels, 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  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 41 of file SctApiBlock.cxx.

References dspBlockRead().

Referenced by TApi::dspBlockDump().

Here is the call graph for this function:

int SctApi::SctApi::dspBlockDumpFile 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 77 of file SctApiBlock.cxx.

References dspBlockRead().

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

Here is the call graph for this function:

unsigned long * SctApi::SctApi::dspBlockRead 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 110 of file SctApiBlock.cxx.

References getCrate(), 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  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 159 of file SctApiBlock.cxx.

References getCrate(), 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  rod,
long  dspStart,
long  dspNumber
 

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

Definition at line 193 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  rod,
unsigned long  dspAddress,
unsigned long  val,
long  dspNumber
 

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

Definition at line 206 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  rod,
const unsigned long  dspAddr,
long  dspNumber
 

IPC: Immediate response Conf: No interaction.

Definition at line 258 of file SctApi.cxx.

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

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  rod,
unsigned long  dspAddr,
unsigned long  value,
long  dspNumber
 

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

Definition at line 275 of file SctApi.cxx.

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

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 728 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 1323 of file SctApi.cxx.

References Sct::SctNames::getTempDir().

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

Here is the call graph for this function:

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

Save raw event to file.

Definition at line 111 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  rod,
unsigned int  length,
const unsigned long *  data
 

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

Definition at line 149 of file SctApiLow.cxx.

References 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 175 of file SctApiLow.cxx.

References sendPrimListAll().

Referenced by TApi::echoAll().

Here is the call graph for this function:

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

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

Definition at line 200 of file SctApiLow.cxx.

References 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 1576 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 1697 of file SctApi.cxx.

References BAD_MODULE, and config.

Referenced by TApi::findBarrelModule().

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

IPC: Immediate response Conf: Lookup.

Definition at line 1739 of file SctApi.cxx.

References BAD_MODULE, and config.

Referenced by TApi::findEndcapModule().

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

IPC: Immediate response Conf: Lookup.

Definition at line 1656 of file SctApi.cxx.

References BAD_MODULE, and config.

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 1609 of file SctApi.cxx.

References BAD_MODULE, and config.

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

void SctApi::SctApi::flashLED 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 230 of file SctApiLow.cxx.

References sendPrimList(), and sendSlavePrimList().

Referenced by TApi::flashLED().

Here is the call graph for this function:

void SctApi::SctApi::freeTriggers  ) 
 

IPC: Not during scan Conf: No communication.

Definition at line 2845 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 LocalCache: Yes.

Definition at line 47 of file SctApiMConf.cxx.

References config, SctApi::SctApiConfigCache::getFromMid(), lookupConfig(), module_cache, moduleMap, and really_getABCDModule().

Referenced by copyABCDModule(), 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  rod,
UINT32  slot,
BankType  bank
[virtual]
 

IPC: Immediate response Conf: Lookup LocalCache: No.

Definition at line 343 of file SctApiMConf.cxx.

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

Here is the call graph for this function:

void SctApi::SctApi::getABCDModules BankType  bank  ) 
 

IPC: Immediate response Conf: Lookup LocalCache: Yes.

Definition at line 34 of file SctApiMConf.cxx.

References getABCDModule(), and moduleMap.

Referenced by copyABCDModules(), and TApi::getABCDModules().

Here is the call graph for this function:

std::vector< double > SctApi::SctApi::getBOCMonitorArray unsigned int  rod  ) 
 

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

Definition at line 1917 of file SctApi.cxx.

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

Here is the call graph for this function:

Crate * SctApi::SctApi::getCrate  )  const [private]
 

Lookup the Crate object to send instructions to.

Return 0 if not found.

Definition at line 1427 of file SctApi.cxx.

References crateObject.

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

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

Return the frame in which the last event starts.

Definition at line 678 of file SctApiEvent.cxx.

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

Referenced by reportEventErrors(), and scanEvents().

Here is the call graph for this function:

ModuleList SctApi::SctApi::getModuleList  ) 
 

Return list of configured modules.

Definition at line 1211 of file SctApi.cxx.

References convertToString(), and moduleMap.

Here is the call graph for this function:

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

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

Definition at line 1517 of file SctApi.cxx.

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

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

Here is the call graph for this function:

bool SctApi::SctApi::getRodMessage 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 1593 of file SctApi.cxx.

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

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 3082 of file SctApi.cxx.

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

Here is the call graph for this function:

int SctApi::SctApi::getRodRevision unsigned int  rod  ) 
 

Return the revision of a ROD.

Definition at line 3073 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  rod  ) 
 

Return slot this ROD is in.

Definition at line 3064 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 1203 of file SctApi.cxx.

References runNumber.

UINT32 SctApi::SctApi::getScanNumber  ) 
 

IPC: Don't do during a scan.

Definition at line 1207 of file SctApi.cxx.

References scanNumber.

const Idiosyncrasy & SctApi::SctApi::idiosyncrasy  ) 
 

Method to allow others to see what makes us "special" in comparison to allthe other crate controllers.

Definition at line 152 of file SctApi.cxx.

References m_id.

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

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 921 of file SctApi.cxx.

References calib_init(), config, crateObject, debugPrimList, getCrate(), SctApi::Crate::initialiseCrate(), initialiseModule(), initialiseRod(), m_id, 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 739 of file SctApi.cxx.

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

Referenced by initialiseAll(), and loadModuleConfigurations().

Here is the call graph for this function:

int SctApi::SctApi::initialiseRod unsigned int  rod  )  [protected, virtual]
 

Proxy for Crate.

Return 0 for success

Definition at line 788 of file SctApi.cxx.

References config, SctConfiguration::SlaveConfig::extFile, getCrate(), SctApi::Crate::getRodRevision(), SctConfiguration::SlaveConfig::idramFile, SctConfiguration::SlaveConfig::ipramFile, 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  rod  ) 
 

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

Definition at line 1227 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 2830 of file SctApi.cxx.

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

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

Here is the call graph for this function:

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 3149 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 3145 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 46 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 1792 of file SctApi.cxx.

References config, loadModuleConfigurations(), 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 1781 of file SctApi.cxx.

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 352 of file SctApiBlock.cxx.

int SctApi::SctApi::loadModuleConfigurations  ) 
 

Return number of module loaded.

Definition at line 1811 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 287 of file SctApi.cxx.

References cacheModuleConfig(), and moduleMap.

Referenced by checkModuleListsForScan(), getABCDModule(), modifyABCDMask(), modifyABCDRC(), modifyABCDTrims(), modifyABCDVar(), printABCDModule(), printABCDRodModule(), really_getABCDModule(), really_setABCDModule(), 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 28 of file SctApiModify.cxx.

References 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 45 of file SctApiModify.cxx.

References 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 60 of file SctApiModify.cxx.

References 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 184 of file SctApiModify.cxx.

References lookupConfig().

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 126 of file SctApiModify.cxx.

References getCrate(), lookupConfig(), 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 79 of file SctApiModify.cxx.

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

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

Here is the call graph for this function:

void SctApi::SctApi::modifyABCDVarROD UINT32  type,
FLOAT32  value,
std::list< BankType >  banks
 

IPC: Not during scan Conf: No communication.

Definition at line 938 of file SctApiMConf.cxx.

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

Here is the call graph for this function:

void SctApi::SctApi::modifyABCDVarROD UINT32  mid,
UINT32  typ,
FLOAT32  var,
std::list< BankType >  banks
 

IPC: Not during scan Conf: No communication.

Definition at line 879 of file SctApiMConf.cxx.

References awaitResponse(), SctApi::SctApiConfigCache::getFromMid(), isRODPresent(), module_cache, and sendPrimList().

Here is the call graph for this function:

void SctApi::SctApi::modifyABCDVarROD UINT32  mid,
UINT32  chip,
UINT32  typ,
FLOAT32  var,
std::list< BankType >  banks
 

IPC: Not during scan Conf: No communication.

Definition at line 809 of file SctApiMConf.cxx.

References awaitResponse(), SctApi::SctApiConfigCache::getFromMid(), isRODPresent(), module_cache, 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 2789 of file SctApi.cxx.

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

Here is the call graph for this function:

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

IPC: Not during scan Conf: No communication.

Definition at line 2793 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 1375 of file SctApiHisto.cxx.

References awaitResponse().

Here is the call graph for this function:

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

Poll a register.

Definition at line 71 of file SctApiLow.cxx.

References awaitResponse(), getResponse(), 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 3598 of file SctApi.cxx.

References checkAllModulesProbe(), SctApi::Crate::checkBOCLasersOn(), getCrate(), SctApi::ScanEx::rodInfo, scanNumber, 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 3662 of file SctApi.cxx.

References calib_init(), 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  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 247 of file SctApiBlock.cxx.

References awaitResponse(), getResponse(), 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  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 297 of file SctApiBlock.cxx.

References awaitResponse(), and sendPrimList().

Referenced by dspBlockWrite().

Here is the call graph for this function:

void SctApi::SctApi::print_calib unsigned int  rod  ) 
 

Print ROD calibration registers.

Definition at line 2395 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 2771 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 2781 of file SctApi.cxx.

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

Here is the call graph for this function:

void SctApi::SctApi::printBOCRegisters unsigned int  rod  ) 
 

IPC: Immediate response Conf: No communication.

Definition at line 2806 of file SctApi.cxx.

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

Here is the call graph for this function:

void SctApi::SctApi::printBOCSetup unsigned int  rod  ) 
 

IPC: Immediate response Conf: No communication.

Definition at line 2798 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  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 982 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  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 712 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  rod,
int  delay,
int  units,
bool  setMask = true,
const Trigger *  trig = 0
 

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

Definition at line 160 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  rod,
int  sl,
bool  extFlag,
bool  errorType
[protected]
 

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

Definition at line 649 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  rod,
int  delay,
bool  setMask
[private]
 

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

Definition at line 607 of file SctApiRaw.cxx.

References ScanHeader::config, scan_result_ptrs::data, ScanHeader::dataType, scan_result_ptrs::header, ScanHeader::length, 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  rod,
long  regNumber
 

IPC: Immediate response Conf: No interaction.

Definition at line 240 of file SctApi.cxx.

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

Referenced by TApi::readRodCommandReg().

Here is the call graph for this function:

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

Read a register from the ROD.

Definition at line 39 of file SctApiLow.cxx.

References awaitResponse(), getResponse(), 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  rod,
long  regNumber
 

IPC: Immediate response Conf: No interaction.

Definition at line 222 of file SctApi.cxx.

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

Referenced by TApi::readRodStatusReg().

Here is the call graph for this function:

void SctApi::SctApi::really_getABCDModule UINT32  mid,
BankType  bank
[protected, virtual]
 

version of getABCDModule which will not look at the crate controller's local cache but will actually get it from the ROD

Definition at line 269 of file SctApiMConf.cxx.

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

Referenced by getABCDModule().

Here is the call graph for this function:

void SctApi::SctApi::really_setABCDModule UINT32  mid,
std::list< BankType >  banks
[protected, virtual]
 

version of setABCDModule which will not look at the crate controller's local cache but will actually get it from the ROD

Definition at line 427 of file SctApiMConf.cxx.

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

Referenced by setABCDModule().

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 400 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::restoreBOCRegisters unsigned int  rod,
BankType  bank
 

Restore BOC registers.

Definition at line 2826 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  rod,
BankType  bank
 

Response BOC setup.

Definition at line 2822 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 3769 of file SctApi.cxx.

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

Here is the call graph for this function:

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

Module data as cached from Configuration.

IPC: Immediate response Conf: Interaction

Definition at line 630 of file SctApi.cxx.

References lookupConfig().

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

Here is the call graph for this function:

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

Direct write of ROD mode!

Definition at line 2329 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  rod,
BankType  bank
 

Save BOC registers.

Definition at line 2818 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  rod,
BankType  bank
 

Save BOC setup.

Definition at line 2814 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  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  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 732 of file SctApiMConf.cxx.

References awaitResponse(), SctApi::Crate::checkBOCLasersOn(), getCrate(), 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 LocalCache: not as of 1/3/2005 AJB

Definition at line 519 of file SctApiMConf.cxx.

References awaitResponseAll(), SctApi::Crate::checkBOCLasersOn(), getCrate(), 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  rod,
int  type,
int  dsp
 

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

Definition at line 264 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  rod  ) 
 

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

Definition at line 659 of file SctApi.cxx.

References debugPrimList, m_id, 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 668 of file SctApi.cxx.

References debugPrimList, and sendPrimListAll().

Referenced by TApi::sendDebugPrimListAll().

Here is the call graph for this function:

void SctApi::SctApi::sendDebugSlavePrimList 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 677 of file SctApi.cxx.

References debugPrimList, and sendSlavePrimList().

Referenced by TApi::sendDebugSlavePrimList().

Here is the call graph for this function:

void SctApi::SctApi::sendL1A 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 2686 of file SctApi.cxx.

References awaitResponse(), and sendPrimList().

Referenced by setupRawData().

Here is the call graph for this function:

void SctApi::SctApi::sendPrimList 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 1266 of file SctApi.cxx.

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

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

Here is the call graph for this function:

void SctApi::SctApi::sendPrimListAll 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 1288 of file SctApi.cxx.

References dumpPrimList(), getCrate(), m_id, 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  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 1395 of file SctApi.cxx.

References getCrate(), m_id, 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  count  ) 
 

Send burst of triggers to TIM.

Definition at line 2614 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 const Trigger *  trig  ) 
 

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

Definition at line 2610 of file SctApi.cxx.

void SctApi::SctApi::sendTrigger unsigned int  rod,
const Trigger *  trig
 

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

Definition at line 2618 of file SctApi.cxx.

References awaitResponse(), and sendPrimList().

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

Here is the call graph for this function:

void SctApi::SctApi::setABCDModule UINT32  mid,
std::list< BankType >  banks
[virtual]
 

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

Definition at line 203 of file SctApiMConf.cxx.

References SctApi::SctApiConfigCache::getFromMid(), lookupConfig(), module_cache, really_setABCDModule(), and SctApi::SctApiConfigCache::set().

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

Here is the call graph for this function:

void SctApi::SctApi::setABCDModules std::list< BankType >  bank  )  [virtual]
 

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

Definition at line 403 of file SctApiMConf.cxx.

References moduleMap, and setABCDModule().

Referenced by copyABCDModules(), 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 3137 of file SctApi.cxx.

void SctApi::SctApi::setIsDictionary  ) 
 

C++ only method to tell a IS aware program to go and look up the dictionary which will tell it where to write to.

Definition at line 211 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 205 of file SctApi.cxx.

void SctApi::SctApi::setRunNumber UINT32  newRun  ) 
 

IPC: Don't do during a scan.

Definition at line 1141 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 1178 of file SctApi.cxx.

References scanNumber.

Referenced by TApi::setScanNumber().

void SctApi::SctApi::setSlaveBlock 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 215 of file SctApiBlock.cxx.

References awaitResponse(), dspBlockWrite(), 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 185 of file SctApi.cxx.

References debugPrimList.

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 342 of file SctApiHisto.cxx.

References 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 288 of file SctApiHisto.cxx.

References SctApi::RodScanEx::bitFieldDSP, eventTrapSetup(), getCrate(), 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 441 of file SctApiHisto.cxx.

References SctApi::RodScanEx::bitFieldDSP, SctApi::RodScanEx::channels, getCrate(), SctApi::ScanEx::getRodScanInfo(), 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 2358 of file SctApi.cxx.

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

Set module masks.

Definition at line 2344 of file SctApi.cxx.

References awaitResponse(), and sendPrimList().

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

Here is the call graph for this function:

int SctApi::SctApi::setupRawData 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 49 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 3343 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 1369 of file SctApi.cxx.

References lasersOff(), and standardRegisterDumpAll().

Referenced by TApi::shutdownAll().

Here is the call graph for this function:

void SctApi::SctApi::standardRegisterDump unsigned int  rod  ) 
 

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

Definition at line 3237 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 3233 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 3335 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 1640 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 431 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 637 of file SctApiHisto.cxx.

References SctApi::RodScanEx::bitFieldDSP, SctApi::ScanEx::getRodScanInfo(), 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  rod,
unsigned int  slave
 

Send the start slave primitive to a DSP.

Definition at line 1114 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 1238 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 1929 of file SctApi.cxx.

References convertToString(), getCrate(), lookupConfig(), moduleMap, runNumber, scanNumber, and SctApi::Crate::status().

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 1648 of file SctApiHisto.cxx.

Referenced by stopHistogramming().

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

Stop the histogramming and event trapping tasks.

Definition at line 856 of file SctApiHisto.cxx.

References awaitResponse(), 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 3773 of file SctApi.cxx.

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

Here is the call graph for this function:

void SctApi::SctApi::stopTriggers  ) 
 

IPC: Not during scan Conf: No communication.

Definition at line 2865 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::storeBOCConfigurations  ) 
 

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

Definition at line 1873 of file SctApi.cxx.

References config, SctApi::Crate::currentBOCRegisters(), currentBOCSetup(), getCrate(), and SctApi::Crate::getListOfRods().

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 1856 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 1303 of file SctApi.cxx.

References awaitResponseAll(), 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  rod  ) 
 

Return selected link to send to ROD front panel LEMO.

Definition at line 3122 of file SctApi.cxx.

References readRODRegister().

Here is the call graph for this function:

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

Select link to send to ROD front panel LEMO.

Definition at line 3091 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 2256 of file SctApi.cxx.

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

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

Here is the call graph for this function:

void SctApi::SctApi::timBCReset  ) 
 

IPC: Not during scan Conf: No communication.

Definition at line 2898 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 int  delay  ) 
 

IPC: Not during scan Conf: No communication.

Definition at line 2889 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  ) 
 

IPC: Not during scan Conf: No communication.

Definition at line 2885 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 int  reg  ) 
 

Parameters:
reg VME address of the register

Definition at line 2910 of file SctApi.cxx.

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

Here is the call graph for this function:

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

IPC: Not during scan Conf: No communication.

Definition at line 2893 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  ) 
 

Print all TIM registers to stdout.

Definition at line 2902 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 int  reg,
UINT16  val
 

Parameters:
reg VME address of the register

Definition at line 2906 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 3141 of file SctApi.cxx.

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

Write to a ROD register.

Definition at line 19 of file SctApiLow.cxx.

References awaitResponse(), 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 81 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 1514 of file SctApi.h.

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

boost::shared_ptr<Crate> SctApi::SctApi::crateObject [private]
 

Map to retrieve crate objects.

Definition at line 1524 of file SctApi.h.

Referenced by getCrate(), and initialiseAll().

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

The current debug primitive list.

Definition at line 1520 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 1531 of file SctApi.h.

boost::shared_ptr<Idiosyncrasy> SctApi::SctApi::m_id [private]
 

This Idiosyncrasy is what makes us different from every other crate controller.

Definition at line 1511 of file SctApi.h.

Referenced by awaitResponse(), awaitResponseAll(), doRawScanThread(), getResponse(), idiosyncrasy(), initialiseAll(), sendDebugPrimList(), sendPrimList(), sendPrimListAll(), and sendSlavePrimList().

boost::shared_ptr<Log> SctApi::SctApi::m_log [private]
 

Log everything that is called.

Definition at line 1527 of file SctApi.h.

Referenced by SctApi().

SctApiConfigCache SctApi::SctApi::module_cache [private]
 

configuration cache *

Definition at line 1553 of file SctApi.h.

Referenced by copyABCDModule(), getABCDModule(), modifyABCDVarROD(), and setABCDModule().

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

Cache of module configurations.

Definition at line 1402 of file SctApi.h.

Referenced by cacheModuleConfig(), checkAllModulesProbe(), checkModuleListsForScan(), doRawScanThreadInnards(), getABCDModule(), getABCDModules(), getModuleList(), initialiseAll(), loadConfiguration(), lookupConfig(), modifyABCDVar(), preScanModuleSetup(), really_getABCDModule(), 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 1399 of file SctApi.h.

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

List all the RODs.

Definition at line 1396 of file SctApi.h.

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

UINT32 SctApi::SctApi::runNumber [private]
 

Current run number.

Definition at line 1538 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 1535 of file SctApi.h.

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


The documentation for this class was generated from the following files:
Generated on Fri Sep 16 18:03:25 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5