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 enum BankType {SCTAPI_BANK_PHYSICS, SCTAPI_BANK_SCAN, SCTAPI_BANK_CALIBRATION};
00036 enum ConfigType {SCTAPI_CONFIG_NONE, SCTAPI_CONFIG_BASIC, SCTAPI_CONFIG_TRIM, SCTAPI_CONFIG_MASK,
00037 SCTAPI_CONFIG_CFG, SCTAPI_CONFIG_OTHER, SCTAPI_CONFIG_ALL};
00038 enum RunType {SCTAPI_RUN_PHYSICS, SCTAPI_RUN_CALIBRATION};
00039 enum EventFormatType {SCTAPI_EVENT_FORMAT_NORMAL, SCTAPI_EVENT_FORMAT_EXPANDED, SCTAPI_EVENT_FORMAT_RAW};
00040
00041 struct RodLabel {
00042 unsigned int partition;
00043 unsigned int crate;
00044 unsigned int rod;
00045
00046 RodLabel(unsigned int partition, unsigned int crate, unsigned int rod)
00047 : partition(partition), crate(crate), rod(rod) {}
00048
00049 RodLabel() : partition(0), crate(0), rod(0) {}
00050
00051 bool operator==(const RodLabel &) const;
00052 bool operator!=(const RodLabel &) const;
00053 bool operator<(const RodLabel &) const;
00054 };
00055
00056 struct CrateLabel {
00057 unsigned int partition;
00058 unsigned int crate;
00059
00060 CrateLabel(unsigned int partition, unsigned int crate)
00061 : partition(partition), crate(crate) {}
00062
00063 CrateLabel() : partition(0), crate(0) {}
00064
00065 bool operator==(const CrateLabel &) const;
00066 bool operator<(const CrateLabel &) const;
00067 };
00068
00069 namespace Utility {
00070 class MemoryBlock;
00071 }
00072 }
00073
00074 #endif