00001
00007 #ifndef SCTAPI_FWD_DEF_H
00008 #define SCTAPI_FWD_DEF_H
00009
00010
00011 namespace SctApi {
00012 class Crate;
00013 class SctApi;
00014 class Trigger;
00015 class Scan;
00016
00017 class ScanEx;
00018
00019 class RodInfo;
00020
00021 class ScanMonitor;
00022
00023 class ScanControl;
00024
00025 class SctApiException;
00026 class CrateException;
00027
00028 class Idiosyncrasy;
00029
00030 class PrimListWrapper;
00031
00032 class DCSAccess;
00033 class SctApiDDC;
00034
00035 struct SctApiCounters;
00036
00037 enum BankType {SCTAPI_BANK_PHYSICS, SCTAPI_BANK_SCAN, SCTAPI_BANK_CALIBRATION};
00038 enum ConfigType {SCTAPI_CONFIG_NONE, SCTAPI_CONFIG_BASIC, SCTAPI_CONFIG_TRIM, SCTAPI_CONFIG_MASK,
00039 SCTAPI_CONFIG_CFG, SCTAPI_CONFIG_OTHER, SCTAPI_CONFIG_ALL};
00040 enum RunType {SCTAPI_RUN_PHYSICS, SCTAPI_RUN_CALIBRATION};
00041 enum EventFormatType {SCTAPI_EVENT_FORMAT_NORMAL, SCTAPI_EVENT_FORMAT_EXPANDED, SCTAPI_EVENT_FORMAT_RAW};
00042
00043 struct RodLabel {
00044 unsigned int partition;
00045 unsigned int crate;
00046 unsigned int rod;
00047
00048 RodLabel(unsigned int partition, unsigned int crate, unsigned int rod)
00049 : partition(partition), crate(crate), rod(rod) {}
00050
00051 RodLabel() : partition(0), crate(0), rod(0) {}
00052
00053 bool operator==(const RodLabel &) const;
00054 bool operator!=(const RodLabel &) const;
00055 bool operator<(const RodLabel &) const;
00056 };
00057
00058 struct CrateLabel {
00059 unsigned int partition;
00060 unsigned int crate;
00061
00062 CrateLabel(unsigned int partition, unsigned int crate)
00063 : partition(partition), crate(crate) {}
00064
00065 CrateLabel() : partition(0), crate(0) {}
00066
00067 bool operator==(const CrateLabel &) const;
00068 bool operator<(const CrateLabel &) const;
00069 };
00070
00071 namespace Utility {
00072 class MemoryBlock;
00073 }
00074 }
00075
00076 #endif