00001 #include "ScanLibraryImpl.h"
00002 #include "CalibrationControllerImpl.h"
00003 #include "scripts/ThresholdScan.h"
00004 #include "scripts/StrobeDelayScan.h"
00005 #include "scripts/NMaskScan.h"
00006 #include "scripts/TokenScan.h"
00007
00008 namespace SctCalibrationController {
00009 using namespace Scripts;
00010
00011 ScanLibraryImpl::ScanLibraryImpl() {
00012 api = 0;
00013 }
00014
00015 ScanLibraryImpl& ScanLibraryImpl::instance() {
00016 static ScanLibraryImpl* instance = new ScanLibraryImpl();
00017 return *instance;
00018 }
00019
00020 Sct_SctApi_T_Scan& ScanLibraryImpl::thresholdScan(unsigned long nTrigs) const {
00021 Sct_SctApi_T_SctApi& api = *CalibrationControllerImpl::instance().getApi();
00022 return ThresholdScan::thresholdScan(api, nTrigs);
00023 }
00024
00025 Sct_SctApi_T_Scan& ScanLibraryImpl::thresholdScanfC(unsigned long nTrigs, double calCharge) const {
00026 Sct_SctApi_T_SctApi& api = *CalibrationControllerImpl::instance().getApi();
00027 return ThresholdScan::thresholdScan(api, nTrigs, calCharge);
00028 }
00029
00030 Sct_SctApi_T_Scan& ScanLibraryImpl::strobeDelayScan(unsigned long nTrigs) const {
00031 Sct_SctApi_T_SctApi& api = *CalibrationControllerImpl::instance().getApi();
00032 return StrobeDelayScan::strobeDelayScan(api, nTrigs);
00033 }
00034
00035 Sct_SctApi_T_Scan& ScanLibraryImpl::nmaskScan(unsigned long nTrigs) const {
00036 Sct_SctApi_T_SctApi& api = *CalibrationControllerImpl::instance().getApi();
00037 return NMaskScan::nmaskScan(api, nTrigs);
00038 }
00039
00040 Sct_SctApi_T_Scan& ScanLibraryImpl::tokenScan() const {
00041 Sct_SctApi_T_SctApi& api = *CalibrationControllerImpl::instance().getApi();
00042 return TokenScan::tokenScan(api);
00043 }
00044
00045 }