Sct Namespace Reference

This namespace contains things that might be generally useful. More...


Data Structures

class  ISIStreamWrapper
 Wrapper to wrap a ISistream as a Sct::IStream. More...
class  ISOStreamWrapper
 Wrapper to wrap a ISostream as a Sct::Ostream. More...
class  ISSerializableWrapperI
 interface for templated class ISSerializableWrapper More...
class  ISSerializableWrapper
 wraps a isinfo object (class as a template) as a Serializable allowing it to be read and written using IOManager classes. More...
class  ISStreamerWrapper
 Templated class for streaming objects derriving from the oniline isinfo with the various Sct::IOManager classes. More...
class  UniquePartitionIdentifier
 No two partitions within ATLAS have the same UniqePartitionIdentifier. More...
class  UniqueCrateLevelIdentifierBase
 Base class for UniqueIdentifiers that live at the Crate level (i.e. More...
class  UniqueCrateIdentifier
 No two crates within the SCT have the same UniqueCrateIdentifier. More...
class  UniqueTimIdentifier
 No two TIMs within the SCT have the same UniqueTimIdentifier. More...
class  UniqueRodIdentifier
 No two rods within the SCT have the same UniqueRodIdentifier. More...
class  ApplicationStartupDebugTools
class  ConfigurationException
 Thrown when an error in the configuration is found. More...
class  CorbaExceptionWrapper
 Thrown to indicate an error with an Ipc call. More...
class  DestroyingDeleter
class  Env
 This static class contains useful methods for dealing with environment variables. More...
class  Throwable
 The base class for all of the exceptions which we throw in the SCT code. More...
class  AbstractThrowable
 A base implementation for Throwable All important information should be included in the string returned by getMessage(). More...
class  Exception
 Represents genuinely exceptional events (such as resource acquisition failure). More...
class  Error
 Represents problems that might be more reasonably described as bugs. More...
class  FibreNumberConverters
class  IoException
 Thrown when an IO error has occured e.g. More...
class  IsException
 Thrown to indicate an error from the Information Service. More...
class  FileException
 Thrown to indicate a file IO error. More...
class  StreamCorruptedException
 Thrown to indicate that the stream is somehow not in the state the I/O code thought it ought to be in. More...
class  NoSuchStreamerException
 Indicates that there is no Streamer for a given className. More...
class  IOParams
 A tag class. More...
class  IOManager
 An abstract class that represents an I/O backend. More...
class  IOManagerDummy
 Dummy IOManager provides streamers for code validation by UnitTest purposes only! More...
class  IOName
 Name an object has when being streamed to or from e.g. More...
class  IpcObjectException
 Thrown when an error publishing or withdrawing IPCObjects. More...
class  IStream
 All ops below were replaced (by Serguei) by something like. More...
class  IStreamAdaptor
 Adaptor for making a Sct::IStream from a std::istream. More...
class  ISUtilities
 Utility methods for using with the information service. More...
class  LogicError
 Logic errors represent internal problems in the logic of the program. More...
class  InvalidArgumentError
 Thrown to report invalid arguments to functions. More...
class  InvariantViolatedError
 This error indicates that a class' invariants have been violated somehow. More...
class  IllegalStateError
 This error indicates that a class is not in an appropriate state for the request that was made of it. More...
class  MathsError
 Thrown when an mathametical error has occured e.g. More...
class  MultiMessageDebugStream
class  OStream
 Output stream interface for Sct::Streamer s. More...
class  OStreamAdaptor
 Adaptor for making a SCT::OStream from a std::ostream. More...
class  OutOfRangeError
 Thrown to show that arguement value is not in the allowed range. More...
class  RangedVector
 Class is like a vector, but checks the array bounds of the vector. More...
class  RefCountServantBase
class  SctNames
 This static class exists to provide the names of SCT Online Software components. More...
class  SequenceUtils
class  Serializable
 Classes should implement this interface if they want to be serialized by the IO system. More...
class  StdExceptionWrapper
class  Streamable
 Classes should implement this interface if they want to be serialized by the IO system. More...
class  Streamer
 A streamer converts to and from a streamed representation of a data object. More...
class  StringStreamerClass
class  Tokenize
class  UniqueID
 This is a simple class to facilitate constructing and parsing uniqueIDs. More...
class  UnsupportedOperationError
 Indicates a method is not supported by this class. More...
class  URandom
class  VersionNotSupportedException
 Indicates an that an I/O operation failed because the version of the data was not compatible with what the software was capable of dealing with. More...
class  XmlStyleOStream
class  XmlStyleIStream
class  ApiServerStatusManager
class  CrateStore
class  ScanStatusManager

Namespaces

namespace  Archive
namespace  DestroyingDeleterHelper
namespace  File
namespace  IS
namespace  ISProxy
namespace  TokenizeHelper

Module Parameters

Parameters of SCT modules
Author:
Alan Barr
Date:
31 March 2003


const unsigned int nLinkModule
const unsigned int nChipModule
const unsigned int nChipLink
const unsigned int nChannelModule
const unsigned int nChannelLink
const unsigned int nChannelChip

Typedefs

typedef unsigned int PartitionIdentifier
 No two partitions within the SCT have the same PartitionIdentifier.
typedef unsigned int CrateIdentifier
 No two crates within a given partition have the same CrateIdentifier.
typedef unsigned int RodIdentifier
 No two rods within a given crate have the same RodIdentifier.
typedef UniquePartitionIdentifier UPID
typedef UniqueCrateIdentifier UCID
typedef UniqueRodIdentifier URID
typedef UniqueTimIdentifier UTID
typedef IoException IoError
 To maintain backward compatibility.
typedef map< string, shared_ptr<
Streamer > > 
StreamerMap
typedef InvalidArgumentError InvalidArgument
 For backward compatibility.

Functions

void BugReport (const std::string &bugCode, const std::string &block, const std::string &text, const unsigned long sleepMicroseconds=0)
size_t substituteVariable (string &str, size_t startPos)
void Terminate () throw ()
 This function is called in case of exception violations It should NOT be called by the user.
void Unexpected () throw ()
 This function is called in case of uncaught exceptions It should NOT be called by the user.
void setExceptionHandlers (const char *process_name) throw ()
 Main programs should call this to the Sct defaults.
template<typename T>
min (T a, T b)
template<typename T>
void getArray (istream &stream, T *p, size_t size, size_t actualSize)
template<typename T>
void getArrayCreate (istream &stream, T **p, size_t &size)
template<typename T>
void getArrayNoCreate (istream &stream, T *p, size_t size)
void getArray (istream &istr, char *p, size_t size, size_t actualSize)
void getArray (istream &istr, unsigned char *p, size_t size, size_t actualSize)
template<class TT>
TT::_ptr_type Lookup (const std::string &name, const IPCPartition &p)
 There is a lot of rubbish in this file, but the main idea is as follows:.
Sct::Corba::UPID copyUPIDToCorba (const Sct::UPID &upid)
 Contains a set of functions useful for converting between normal objects and OMNI objects.
Sct::Corba::UCID copyUCIDToCorba (const Sct::UCID &ucid)
Sct::Corba::URID copyURIDToCorba (const Sct::URID &urid)
Sct::UPID copyCorbaToUPID (const Sct::Corba::UPID &upid)
Sct::UCID copyCorbaToUCID (const Sct::Corba::UCID &ucid)
Sct::URID copyCorbaToURID (const Sct::Corba::URID &urid)
char * copyStringToCorba (const std::string &str)
template<typename CorbaSequence, typename ListMember>
CorbaSequence * copyListToCorba (const std::list< ListMember > &thisList)
template<typename CorbaSequence>
CorbaSequence * copyStringListToCorba (const std::list< std::string > &thisList)
template<typename CorbaSequence>
CorbaSequence * copyStringSetToCorba (const std::set< std::string > &thisSet)
template<typename CorbaSequence, typename ListMember>
std::list< ListMember > copyCorbaToList (const CorbaSequence *const thisSeq)
template<typename CorbaSequence, typename List>
List copyCorbaToStdCollection (const CorbaSequence *thisSeq)
template<typename CorbaSequence, typename ArrayMember>
CorbaSequence * copyArrayToCorba (ArrayMember *const array, const unsigned long length)
template<typename CorbaSequence, typename ArrayMember>
CorbaSequence * copyVectorToCorba (const std::vector< ArrayMember > &array)
template<typename CorbaMatrix, typename CorbaSequence, typename ArrayMember>
CorbaMatrix * copyVectorVectorToCorba (const std::vector< std::vector< ArrayMember > > &matrix)
template<typename CorbaBlock, typename ArrayMember>
ArrayMember * copyCorbaToArray (const CorbaBlock &thisSeq, ArrayMember *const array)
unsigned char roundToUChar (float value)
unsigned char roundToUChar (double value)
static void dummyMRSCallBack (MRSCallbackMsg *mc)
const char * getVersionString ()
const char * getVersionModifier ()
unsigned int getMajorVersion ()
unsigned int getMinorVersion ()
double getVersion ()
static std::string invalidate (const char *val, int length)
static std::string validate (const char *val, int length)

Variables

const char * process_name
const StringStreamerClass StringStreamer
const char * BuildSystem
const char * BuildHost
const char * BuildDate
const char * CmtConfig
const char * TdaqVersion
const char * RootVersion
const char * GccVersion
const char * RodDaqVersion
const char * VersionString
 This file contains constants that contain version info The string that contains the version info. Should be in form SctRodDaq_x_xx_sometext.
const char * VersionModifier
 the bit at the end
const double Version
 x_xx => x.xx
const unsigned int MajorVersion
 The major version.
const unsigned int MinorVersion
 The minor version (decimal part of version * 100).
const char * VersionString
 This file contains constants that contain version info The string that contains the version info. Should be in form SctRodDaq_x_xx_sometext.
const unsigned int MajorVersion
 The major version.
const unsigned int MinorVersion
 The minor version (decimal part of version * 100).
const double Version
 x_xx => x.xx
const char * VersionModifier
 the bit at the end
const char * BuildSystem
const char * BuildHost
const char * BuildDate
const char * CmtConfig
const char * TdaqVersion
const char * RootVersion
const char * GccVersion
const char * RodDaqVersion
static std::string escape []
static std::string entity []


Detailed Description

This namespace contains things that might be generally useful.

Author:
Christopher Lester Example
boost::shared_ptr<SctApiServer> api = Sct::DestroyingDeleter<SctApiServer>::shared_ptr(new SctApiServer(*ob, Sct_SctApi::SctApiIPC::instanceName));

which is the same as

boost::shared_ptr<SctApiServer> api = Sct::DestroyingDeleter<SctApiServer>::shared_ptr(new SctApiServer( CONSTRUCTOR_ARGS ));

where I have suppressed the irrelevant info.


Typedef Documentation

typedef unsigned int Sct::CrateIdentifier
 

No two crates within a given partition have the same CrateIdentifier.

Definition at line 15 of file Addressing.h.

typedef InvalidArgumentError Sct::InvalidArgument
 

For backward compatibility.

Definition at line 65 of file LogicErrors.h.

typedef IoException Sct::IoError
 

To maintain backward compatibility.

Definition at line 37 of file IoExceptions.h.

typedef unsigned int Sct::PartitionIdentifier
 

No two partitions within the SCT have the same PartitionIdentifier.

Definition at line 12 of file Addressing.h.

typedef unsigned int Sct::RodIdentifier
 

No two rods within a given crate have the same RodIdentifier.

Definition at line 18 of file Addressing.h.


Function Documentation

Sct::Corba::UPID Sct::copyUPIDToCorba const Sct::UPID upid  )  [inline]
 

Contains a set of functions useful for converting between normal objects and OMNI objects.

Author:
Matthew Palmer, Bruce Gallop based on ILU version Modified to OMNI by Alan Barr and Chris Lester

Definition at line 23 of file OmniMarshalling.h.

References Sct::UniquePartitionIdentifier::partition().

Here is the call graph for this function:

template<class TT>
TT::_ptr_type Sct::Lookup const std::string &  name,
const IPCPartition &  p
 

There is a lot of rubbish in this file, but the main idea is as follows:.

Sergei's IPCPartition::lookup<> method is very lazy. It returns IPC references from a cache under most circumstances, and only does THEY JOB IT OUGT TO DO SOMETIMES (i.e. if the user were to request it to!) when it realises that its cache is invalid, which very annoyingly only discovers when you try to USE one of the bum references it gives you.

What we really want is a lookup method that gives you the OPTION of using or not using the cache. The purpose of this particular file is to provide an alternative Sct::Lookup method that wraps Sergei's one, but which does some tests on the returned IPC reference first.

In principle, the idea is that it returns a reference THAT IS VALID at the time of the call (though of course it might become invalid only seconds later if you are unlucky).

If a valid reference to the object you are asking for can't be found, then this method returns TT::_nil().

------------ Stop reading if you are not a developer ---- Experimentally it is noted that if the asked for object had died and been reborn, then the following algorithm executes the while loop 3 times while getting rid of Sergei's strange policy: ntries=0: NIL=true, NXT=true. ntries=1; NIL=false, NXT=true. ntires=2: NIL=false, NXT=false. (then the algorithm returns) Note that the only exceptions that are (believed to be caught) are those commented "/// KNOWN TO BE CAUGHT" below.

KNOWN TO BE CAUGHT

NOT KNOWN TO BE CAUGHT

Definition at line 58 of file Lookup.h.

References Sct::MultiMessageDebugStream::flush().

Here is the call graph for this function:

void Sct::Terminate  )  throw ()
 

This function is called in case of exception violations It should NOT be called by the user.

It sends a message to MRS and calls terminate();

Definition at line 135 of file Exception.cpp.

References process_name, and Sct::Throwable::sendToMrs().

Referenced by setExceptionHandlers().

Here is the call graph for this function:

void Sct::Unexpected  )  throw ()
 

This function is called in case of uncaught exceptions It should NOT be called by the user.

It sends the last created exception to MRS, and calls abort();

Definition at line 174 of file Exception.cpp.

References Sct::AbstractThrowable::sendToMrs().

Referenced by setExceptionHandlers().

Here is the call graph for this function:


Variable Documentation

const unsigned int Sct::MajorVersion
 

The major version.

Definition at line 61 of file Version.cpp.

Referenced by getMinorVersion().

const unsigned int Sct::MajorVersion
 

The major version.

Definition at line 61 of file Version.cpp.

Referenced by getMinorVersion().

const unsigned int Sct::MinorVersion
 

The minor version (decimal part of version * 100).

Definition at line 62 of file Version.cpp.

const unsigned int Sct::MinorVersion
 

The minor version (decimal part of version * 100).

Definition at line 62 of file Version.cpp.

const double Sct::Version
 

x_xx => x.xx

Definition at line 60 of file Version.cpp.

Referenced by getMajorVersion(), and getMinorVersion().

const double Sct::Version
 

x_xx => x.xx

Definition at line 60 of file Version.cpp.

Referenced by getMajorVersion(), and getMinorVersion().

const char* Sct::VersionModifier
 

the bit at the end

Definition at line 59 of file Version.cpp.

const char* Sct::VersionModifier
 

the bit at the end

Definition at line 59 of file Version.cpp.

const char* Sct::VersionString
 

This file contains constants that contain version info The string that contains the version info. Should be in form SctRodDaq_x_xx_sometext.

Definition at line 58 of file Version.cpp.

Referenced by getVersion(), and getVersionModifier().

const char* Sct::VersionString
 

This file contains constants that contain version info The string that contains the version info. Should be in form SctRodDaq_x_xx_sometext.

Definition at line 58 of file Version.cpp.

Referenced by getVersion(), and getVersionModifier().


Generated on Mon Feb 6 14:02:34 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6