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 enum BankType {SCTAPI_BANK_PHYSICS, SCTAPI_BANK_SCAN, SCTAPI_BANK_CALIBRATION};
00027 enum ConfigType {SCTAPI_CONFIG_BASIC, SCTAPI_CONFIG_TRIM, SCTAPI_CONFIG_ALL};
00028
00029 struct RodLabel {
00030 unsigned int partition;
00031 unsigned int crate;
00032 unsigned int rod;
00033
00034 RodLabel(unsigned int partition, unsigned int crate, unsigned int rod)
00035 : partition(partition), crate(crate), rod(rod) {}
00036
00037 RodLabel() : partition(0), crate(0), rod(0) {}
00038
00039 bool operator==(const RodLabel &) const;
00040 bool operator!=(const RodLabel &) const;
00041 bool operator<(const RodLabel &) const;
00042 };
00043
00044 struct CrateLabel {
00045 unsigned int partition;
00046 unsigned int crate;
00047
00048 CrateLabel(unsigned int partition, unsigned int crate)
00049 : partition(partition), crate(crate) {}
00050
00051 CrateLabel() : partition(0), crate(0) {}
00052
00053 bool operator==(const CrateLabel &) const;
00054 bool operator<(const CrateLabel &) const;
00055 };
00056
00057 namespace Utility {
00058 class MemoryBlock;
00059 }
00060 }
00061
00062 #endif