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