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 }