Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | 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.

const Sct::UCIDucid () const
const std::string getHostName () const
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).

bool changeRunMode (enum RunType mode)
 Change to physics/calibration mode.

bool changeEventFormat (enum EventFormatType format)
 Change the event format produced by the formatters.

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 (BankType bank)
 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 setAutoUpdateBanks (std::list< BankType > banks)
 List of banks to be kept up to date with.

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 modifyABCDVarAllModulesOneChip (UINT32 chip, UINT32 typ, FLOAT32 var)
 modify a variable on one chip, but all modules

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 modifyTIMParam (unsigned int param, unsigned int value)
 modify a TIM parameter.

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 setErrorMasks ()
 put all EFB error masks to their cached values

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).

double timGetTriggerFrequency ()
 get trigger frequency (kHz)

double timGetResetFrequency ()
 get reset frequency (Hz)

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 timLoadSequence (const std::vector< unsigned > &seq)
 load a tim sequence - see Crate for detail

unsigned long timRunSequence (unsigned long ntrigs, int random, bool external=false)
 run the tim sequence last l1id

unsigned long sendTimBurst (unsigned long count, int random, bool external=false)
 Send burst of triggers to TIM last l1id.

void timVerbose ()
 Print all TIM registers to stdout.

void timWriteRegister (int reg, UINT16 val)
UINT16 timReadRegister (int reg)
std::string 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< const Scan > scan)
 DDC: Check modules configured...

boost::shared_ptr< ScanMonitorstartAsyncScan (boost::shared_ptr< const Scan > scan)
 DDC: Check modules configured...

boost::shared_ptr< ScanControlstartScan (boost::shared_ptr< const Scan > scan, bool pollTriggers)
 DDC: Check modules configured...

void SctApi::validateScan (boost::shared_ptr< const Scan > scan)
 Check that a scan is ok to run
Exceptions:
SctApiException if there is a problem in the scan.


bool hasFinishedScanning ()
 Used to determine whether or not SctApi is busy. See also "SctApi::unsetBusy()".

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 sendRodTrigger (unsigned int rod, const Trigger *trig, long unsigned count, int scan_point=0)
 IPC: Not during any other scan Conf: No communication.

unsigned long sendTriggers (const Trigger *trig, unsigned long count, int scan_point=0)
 Send lots of triggers: frequency and source worked out from trigger.

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 {b,a,d, ,c,r,a,t,e} : Nothing can be returned -- no such crate! (only relevant over top level ipc) 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 () const
 Get the currently enabled debug options.

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

void unsetBusy ()
 For use in emergency situations only (not as a matter of course) use unsetBusy() to override SctApi's present busy state and ask it to appear "not busy" to the outside world.

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 synchSendPrimListAll (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.

int synchSendPrimList (unsigned int rod, 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.

SctApiConfigCachegetModuleConfigCache ()
 needed by ScanControl to update the cache to the last point in the scan.

unsigned preloadModuleConfigurations ()
bool checkDebugOption (std::string opt) const
bool checkDebugOption (int opt) const

Data Fields

MRSStream * mrs
boost::shared_ptr< ISInfoDictionary > m_isDict
volatile bool m_preloadModuleConfigurationsStop

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, UINT32 api_cfg_bits)
 version of setABCDModule which will not look at the crate controller's local cache but will actually set it to 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, bool toRod=true)
 Load module configuration from database Send module configuration to ROD (unless toRod is set to false).

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

virtual bool preScanHardwareCheck (const 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...

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

boost::mutex moduleMapAccess
 Controls access to module configurations during initialisation.

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.

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, std::string name="")
 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 (const Scan &scan)
 Needs scan to know whether to set formatters into expanded mode.

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.

RunType currentRunMode
 Current run mode.

std::list< BankType > m_autoUpdateBanks
 list of banks to automatically update on ROD

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


Constructor & Destructor Documentation

SctApi::SctApi::SctApi const Idiosyncrasy &   ) 
 

Default to local xmlConfig.

Definition at line 90 of file SctApi.cxx.

References config, SctConfiguration::Factory::defaultConfig(), 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 2645 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 668 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 1426 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 1659 of file SctApi.cxx.

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

Referenced by TApi::awaitResponse(), copyABCDModule(), debugContinueHistogram(), debugStepHistogram(), defaultScan(), doRawScanThreadInnards(), getABCDModuleRaw(), initialiseRod(), modifyABCDVarROD(), pollRegister(), primReadSlaveDsp(), primWriteSlaveDsp(), readRODRegister(), really_getABCDModule(), really_setABCDModule(), rodMode(), sendABCDModule(), sendData(), sendL1A(), setErrorMasks(), setSlaveBlock(), setupModuleMask(), setupRawData(), startSlave(), stopHistogramming(), synchSendPrimList(), 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 1708 of file SctApi.cxx.

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

Referenced by freeTriggers(), pollHistogramming(), sendAllABCDModules(), stopTriggers(), and synchSendPrimListAll().

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

Referenced by TApi::bocHistogram().

void SctApi::SctApi::cacheModuleConfig UINT32  mid,
std::string  name = ""
[private]
 

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

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

References setupModuleMask(), and synchSendPrimListAll().

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

Here is the call graph for this function:

bool SctApi::SctApi::changeEventFormat enum EventFormatType  format  ) 
 

Change the event format produced by the formatters.

Definition at line 124 of file SctApiHigh.cxx.

References synchSendPrimListAll().

Here is the call graph for this function:

bool SctApi::SctApi::changeRunMode enum RunType  mode  ) 
 

Change to physics/calibration mode.

Definition at line 15 of file SctApiHigh.cxx.

References calib_init(), checkAllModulesProbe(), config, currentRunMode, synchSendPrimListAll(), timWriteRegister(), SctConfiguration::TimConfig::triggerEnablesInternal, SctConfiguration::TimConfig::triggerEnablesTTC, and SctConfiguration::TimConfig::validMask.

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

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

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

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

Referenced by startScan().

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 2210 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 1954 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 1995 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 1911 of file SctApi.cxx.

References BAD_MODULE, and config.

string SctApi::SctApi::convertToString UINT32  mid  ) 
 

IPC: Immediate response Conf: Lookup.

Definition at line 1865 of file SctApi.cxx.

References config.

Referenced by checkAllModulesProbe(), doRawScanThreadInnards(), getModuleList(), 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 179 of file SctApiMConf.cxx.

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

Referenced by TApi::copyABCDModules().

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 141 of file SctApiMConf.cxx.

References SctApi::SctApiConfigCache::copyAllModules(), getABCDModules(), module_cache, setABCDModules(), and synchSendPrimListAll().

Referenced by TApi::copyABCDModules().

Here is the call graph for this function:

void SctApi::SctApi::createDebugPrimList  ) 
 

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

Definition at line 659 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 3171 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 3163 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 3593 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 3571 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 706 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 3544 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 3291 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 2341 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 194 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 206 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 260 of file SctApiRaw.cxx.

References awaitResponse(), SctApi::Crate::checkBOCLasersOn(), ScanHeader::config, config, SctApi::Crate::configureBOC(), convertToString(), scan_result_ptrs::data, ScanHeader::dataType, dumpRawEvent(), ScanHeader::endTime, SctApi::Crate::enterBOCClockBy2Mode(), getCrate(), getResponse(), 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(), sendPrimList(), 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< const Scan >  scan  ) 
 

DDC: Check modules configured...

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

Definition at line 418 of file SctApiHisto.cxx.

References startScan().

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(), and dspSingleBlockRead().

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().

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().

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

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

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

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

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

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

Here is the call graph for this function:

void SctApi::SctApi::dumpDebugPrimList  ) 
 

Perform a binary dump of the debug prim list.

Definition at line 748 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 1528 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 116 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 1971 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 1933 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 1975 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 1892 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 1845 of file SctApi.cxx.

References BAD_MODULE, and config.

Referenced by TApi::findModule().

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 3214 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, getABCDModuleRaw(), SctApi::SctApiConfigCache::getFromMid(), lookupConfig(), module_cache, and moduleMap.

Referenced by copyABCDModule(), TApi::getABCDModule(), getABCDModules(), and printABCDRodModule().

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 400 of file SctApiMConf.cxx.

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

Referenced by getABCDModule().

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 2225 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 1645 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(), modifyTIMParam(), 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(), timGetResetFrequency(), timGetTriggerFrequency(), timL1A(), timLoadSequence(), timReadRegister(), timRunSequence(), 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 667 of file SctApiEvent.cxx.

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

Referenced by reportEventErrors(), and scanEvents().

Here is the call graph for this function:

SctApiConfigCache & SctApi::SctApi::getModuleConfigCache  ) 
 

needed by ScanControl to update the cache to the last point in the scan.

Definition at line 157 of file SctApi.cxx.

References module_cache.

ModuleList SctApi::SctApi::getModuleList  ) 
 

Return list of configured modules.

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

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

Referenced by defaultScan(), doRawScanThreadInnards(), 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 1829 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 3460 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 3451 of file SctApi.cxx.

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

Here is the call graph for this function:

long SctApi::SctApi::getRodSlot unsigned int  rod  ) 
 

Return slot this ROD is in.

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

References runNumber.

UINT32 SctApi::SctApi::getScanNumber  ) 
 

IPC: Don't do during a scan.

Definition at line 1378 of file SctApi.cxx.

References scanNumber.

bool SctApi::SctApi::hasFinishedScanning  ) 
 

Used to determine whether or not SctApi is busy. See also "SctApi::unsetBusy()".

Definition at line 171 of file SctApi.cxx.

References idiosyncrasy().

Here is the call graph for this function:

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

References m_id.

Referenced by hasFinishedScanning(), and unsetBusy().

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

References calib_init(), SctApi::SctApiConfigCache::clearAll(), config, crateObject, currentRunMode, debugPrimList, getCrate(), SctApi::Crate::initialiseCrate(), initialiseModule(), initialiseRod(), m_id, module_cache, moduleMap, rodList, runNumber, setErrorMasks(), SctApi::Crate::setMrsStream(), SctApi::Crate::status(), testLinkOutSelect(), and timReadRegister().

Referenced by TApi::initialiseAll().

Here is the call graph for this function:

int SctApi::SctApi::initialiseModule std::string  module,
bool  toRod = true
[protected, virtual]
 

Load module configuration from database Send module configuration to ROD (unless toRod is set to false).

Return 0 for success

Definition at line 759 of file SctApi.cxx.

References cacheModuleConfig(), config, moduleMap, moduleMapAccess, 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 809 of file SctApi.cxx.

References awaitResponse(), config, SctConfiguration::SlaveConfig::extFile, getCrate(), SctApi::Crate::getRodRevision(), SctConfiguration::SlaveConfig::idramFile, SctConfiguration::SlaveConfig::ipramFile, rodList, SctApi::Crate::RODPresent(), sendPrimList(), 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 1398 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 3191 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  )  const
 

List possible debug options.

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

Definition at line 3526 of file SctApi.cxx.

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

Get the currently enabled debug options.

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

Definition at line 3522 of file SctApi.cxx.

Referenced by status().

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.

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

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

Definition at line 2028 of file SctApi.cxx.

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

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 2017 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 2109 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 302 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 36 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 53 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 68 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 216 of file SctApiModify.cxx.

References lookupConfig(), m_autoUpdateBanks, and modifyABCDVarROD().

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

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

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

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

Here is the call graph for this function:

void SctApi::SctApi::modifyABCDVarAllModulesOneChip UINT32  chip,
UINT32  typ,
FLOAT32  var
 

modify a variable on one chip, but all modules

Definition at line 137 of file SctApiModify.cxx.

References modifyABCDVar(), and moduleMap.

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 1008 of file SctApiMConf.cxx.

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

References modifyABCDVarROD().

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 934 of file SctApiMConf.cxx.

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

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

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

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

Here is the call graph for this function:

void SctApi::SctApi::modifyTIMParam unsigned int  param,
unsigned int  value
 

modify a TIM parameter.

Definition at line 3146 of file SctApi.cxx.

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

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

References awaitResponseAll().

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 const Scan &  scan,
ScanEx extra
[protected, virtual]
 

Perform necessary hardware checks before a scan.

Returns:
true if successful, false otherwise

Definition at line 4005 of file SctApi.cxx.

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

Referenced by startScan().

Here is the call graph for this function:

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

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

Definition at line 4075 of file SctApi.cxx.

References calib_init(), moduleMap, print_calib(), sendAllABCDModules(), setABCDModules(), and synchSendPrimListAll().

Referenced by startScan().

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

References readRODRegister().

Referenced by 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 3129 of file SctApi.cxx.

References config, and lookupConfig().

Referenced by TApi::printABCDModule().

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 3139 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 3167 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 3159 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 1066 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 {b,a,d, ,c,r,a,t,e} : Nothing can be returned -- no such crate! (only relevant over top level ipc) J Junk (ie anything else).

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

Definition at line 796 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 165 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 638 of file SctApiEvent.cxx.

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

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

Here is the call graph for this function:

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

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

Definition at line 691 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 255 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(), 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 237 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 326 of file SctApiMConf.cxx.

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

Here is the call graph for this function:

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

version of setABCDModule which will not look at the crate controller's local cache but will actually set it to the ROD.

Definition at line 499 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 389 of file SctApiEvent.cxx.

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

Here is the call graph for this function:

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

Restore BOC registers.

Definition at line 3187 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 3183 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 4187 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 650 of file SctApi.cxx.

References lookupConfig().

Referenced by 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 2650 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 3179 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 3175 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::SctApi::validateScan boost::shared_ptr< const Scan >  scan  ) 
 

Check that a scan is ok to run

Exceptions:
SctApiException if there is a problem in the scan.

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 838 of file SctApiMConf.cxx.

References awaitResponse(), SctApi::Crate::checkBOCLasersOn(), getCrate(), SctApi::SctApiConfigCache::getFromMid(), module_cache, 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 622 of file SctApiMConf.cxx.

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

Referenced by doRawScanThreadInnards(), 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().

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 679 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 688 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 697 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 3076 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 1437 of file SctApi.cxx.

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

Referenced by copyABCDModule(), defaultScan(), doRawScanThreadInnards(), echo(), flashLED(), getABCDModuleRaw(), initialiseRod(), modifyABCDVarROD(), pollRegister(), primReadSlaveDsp(), primWriteSlaveDsp(), readRODRegister(), really_getABCDModule(), really_setABCDModule(), rodMode(), sendABCDModule(), sendData(), sendDebugPrimList(), sendL1A(), sendSlavePrimList(), setErrorMasks(), setSlaveBlock(), setupModuleMask(), setupRawData(), startSlave(), stopHistogramming(), synchSendPrimList(), 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 1486 of file SctApi.cxx.

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

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

Here is the call graph for this function:

void SctApi::SctApi::sendRodTrigger unsigned int  rod,
const Trigger *  trig,
long unsigned  count,
int  scan_point = 0
 

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

Referenced by TApi::sendRodTrigger(), sendTriggers(), and setupRawData().

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 1613 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:

unsigned long SctApi::SctApi::sendTimBurst unsigned long  count,
int  random,
bool  external = false
 

Send burst of triggers to TIM last l1id.

Definition at line 2948 of file SctApi.cxx.

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

Referenced by sendTriggers().

Here is the call graph for this function:

unsigned long SctApi::SctApi::sendTriggers const Trigger *  trig,
unsigned long  count,
int  scan_point = 0
 

Send lots of triggers: frequency and source worked out from trigger.

Returns:
last l1id

Definition at line 2952 of file SctApi.cxx.

References rodList, sendRodTrigger(), sendTimBurst(), timGetResetFrequency(), timLoadSequence(), timRunSequence(), and timSetFrequency().

Referenced by TApi::sendTriggers().

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 249 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 460 of file SctApiMConf.cxx.

References moduleMap, and setABCDModule().

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

Here is the call graph for this function:

void SctApi::SctApi::setAutoUpdateBanks std::list< BankType >  banks  ) 
 

List of banks to be kept up to date with.

Definition at line 30 of file SctApiModify.cxx.

References m_autoUpdateBanks.

Referenced by TApi::setAutoUpdateBank(), and TApi::setAutoUpdateBanks().

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

Enable a debug option.

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

Definition at line 3514 of file SctApi.cxx.

void SctApi::SctApi::setErrorMasks  ) 
 

put all EFB error masks to their cached values

Definition at line 570 of file SctApiMConf.cxx.

References awaitResponse(), rodInfoList, sendPrimList(), and synchSendPrimListAll().

Referenced by initialiseAll().

Here is the call graph for this function:

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

void SctApi::SctApi::setRunNumber UINT32  newRun  ) 
 

IPC: Don't do during a scan.

Definition at line 1294 of file SctApi.cxx.

References runNumber, scanNumber, and synchSendPrimListAll().

Referenced by TApi::setRunNumber().

Here is the call graph for this function:

void SctApi::SctApi::setScanNumber UINT32  newScan  ) 
 

IPC: Don't do during a scan.

Definition at line 1349 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 200 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 536 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 482 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 635 of file SctApiHisto.cxx.

References SctApi::RodScanEx::bitFieldDSP, SctApi::RodScanEx::channels, getCrate(), SctApi::ScanEx::getRodScanInfo(), SctApi::RodScanEx::groupChannels, SctApi::ScanEx::groupDspMap, SctApi::ScanEx::groupSpMap, SctApi::Crate::slavePresent(), and SctApi::useCCode().

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

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

Set module masks.

Definition at line 2665 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 51 of file SctApiRaw.cxx.

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

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 3750 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 startScan().

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

References convertToString(), dspBlockDumpFile(), getCrate(), SctApi::Crate::getRodRevision(), 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 3620 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 3742 of file SctApi.cxx.

References rodList, and standardRegisterDump().

Referenced by shutdownAll().

Here is the call graph for this function:

boost::shared_ptr< ScanMonitor > SctApi::SctApi::startAsyncScan boost::shared_ptr< const Scan >  scan  ) 
 

DDC: Check modules configured...

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

Definition at line 180 of file SctApiHisto.cxx.

References startScan().

Referenced by TApi::startAsyncScan().

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 2035 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 625 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 841 of file SctApiHisto.cxx.

References SctApi::RodScanEx::bitFieldDSP, SctApi::ScanEx::getRodScanInfo(), SctApi::ScanEx::groupDspMap, SctApi::ScanEx::groupRangeMap, SctApi::ScanEx::groupSpMap, and SctApi::ScanEx::trimScan.

Here is the call graph for this function:

boost::shared_ptr< ScanControl > SctApi::SctApi::startScan boost::shared_ptr< const Scan >  scan,
bool  pollTriggers
 

DDC: Check modules configured...

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

Definition at line 184 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 doScan(), and startAsyncScan().

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

References checkAllModulesProbe(), and sendAllABCDModules().

Here is the call graph for this function:

std::string SctApi::SctApi::status  ) 
 

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

Definition at line 2237 of file SctApi.cxx.

References convertToString(), getCrate(), listEnabledDebugOptions(), 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 2043 of file SctApiHisto.cxx.

Referenced by stopHistogramming().

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

Stop the histogramming and event trapping tasks.

Definition at line 1069 of file SctApiHisto.cxx.

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

Here is the call graph for this function:

void SctApi::SctApi::stopPolling  ) 
 

Pause the primitive polling thread.

Definition at line 4191 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 3234 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 2177 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 BankType  bank  ) 
 

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

Definition at line 2154 of file SctApi.cxx.

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

Here is the call graph for this function:

int SctApi::SctApi::synchSendPrimList unsigned int  rod,
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 1453 of file SctApi.cxx.

References awaitResponse(), and sendPrimList().

Here is the call graph for this function:

int SctApi::SctApi::synchSendPrimListAll 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 1501 of file SctApi.cxx.

References awaitResponseAll(), and sendPrimListAll().

Referenced by calib_init(), changeEventFormat(), changeRunMode(), copyABCDModules(), preScanModuleSetup(), sendAllABCDModules(), setErrorMasks(), and setRunNumber().

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 3499 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 3469 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 2577 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 3267 of file SctApi.cxx.

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

Referenced by 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 3258 of file SctApi.cxx.

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

Referenced by TApi::timCalL1A().

Here is the call graph for this function:

double SctApi::SctApi::timGetResetFrequency  ) 
 

get reset frequency (Hz)

Definition at line 3210 of file SctApi.cxx.

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

Referenced by sendTriggers(), and TApi::timGetResetFrequency().

Here is the call graph for this function:

double SctApi::SctApi::timGetTriggerFrequency  ) 
 

get trigger frequency (kHz)

Definition at line 3206 of file SctApi.cxx.

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

Referenced by TApi::timGetTriggerFrequency().

Here is the call graph for this function:

void SctApi::SctApi::timL1A  ) 
 

IPC: Not during scan Conf: No communication.

Definition at line 3254 of file SctApi.cxx.

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

Referenced by TApi::timL1A().

Here is the call graph for this function:

void SctApi::SctApi::timLoadSequence const std::vector< unsigned > &  seq  ) 
 

load a tim sequence - see Crate for detail

Definition at line 3271 of file SctApi.cxx.

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

Referenced by sendTriggers().

Here is the call graph for this function:

UINT16 SctApi::SctApi::timReadRegister int  reg  ) 
 

Parameters:
reg VME address of the register

Definition at line 3287 of file SctApi.cxx.

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

Referenced by initialiseAll().

Here is the call graph for this function:

unsigned long SctApi::SctApi::timRunSequence unsigned long  ntrigs,
int  random,
bool  external = false
 

run the tim sequence last l1id

Definition at line 3275 of file SctApi.cxx.

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

Referenced by sendTriggers().

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

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

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

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

Referenced by TApi::timSoftReset().

Here is the call graph for this function:

void SctApi::SctApi::timVerbose  ) 
 

Print all TIM registers to stdout.

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

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

Referenced by changeRunMode().

Here is the call graph for this function:

void SctApi::SctApi::unsetBusy  ) 
 

For use in emergency situations only (not as a matter of course) use unsetBusy() to override SctApi's present busy state and ask it to appear "not busy" to the outside world.

See also "SctApi::hasFinishedScanning()".

Definition at line 3530 of file SctApi.cxx.

References idiosyncrasy().

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 3518 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 82 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 1601 of file SctApi.h.

Referenced by awaitResponse(), cacheModuleConfig(), changeRunMode(), 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 1611 of file SctApi.h.

Referenced by getCrate(), and initialiseAll().

RunType SctApi::SctApi::currentRunMode [private]
 

Current run mode.

Definition at line 1628 of file SctApi.h.

Referenced by changeRunMode(), and initialiseAll().

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

The current debug primitive list.

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

std::list<BankType> SctApi::SctApi::m_autoUpdateBanks [private]
 

list of banks to automatically update on ROD

Definition at line 1631 of file SctApi.h.

Referenced by modifyABCDVar(), and setAutoUpdateBanks().

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

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

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

Referenced by SctApi().

SctApiConfigCache SctApi::SctApi::module_cache [private]
 

configuration cache *

Definition at line 1646 of file SctApi.h.

Referenced by copyABCDModule(), copyABCDModules(), getABCDModule(), getModuleConfigCache(), initialiseAll(), modifyABCDVarROD(), sendABCDModule(), setABCDModule(), and storeModuleConfigurations().

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

Cache of module configurations.

Definition at line 1484 of file SctApi.h.

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

boost::mutex SctApi::SctApi::moduleMapAccess [protected]
 

Controls access to module configurations during initialisation.

Definition at line 1487 of file SctApi.h.

Referenced by initialiseModule(), and loadConfiguration().

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

List them again, but with additional info...

Definition at line 1480 of file SctApi.h.

Referenced by setErrorMasks().

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

List all the RODs.

Definition at line 1477 of file SctApi.h.

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

UINT32 SctApi::SctApi::runNumber [private]
 

Current run number.

Definition at line 1625 of file SctApi.h.

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

UINT32 SctApi::SctApi::scanNumber [private]
 

Current scan number.

Definition at line 1622 of file SctApi.h.

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


The documentation for this class was generated from the following files:
Generated on Thu Dec 15 21:17:38 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5