00001 #ifndef SCANLIBRARY_H
00002 #define SCANLIBRARY_H
00003
00004 #include "Sct_CalibrationController.hh"
00005 #include <boost/utility.hpp>
00006 #include <ipc/object.h>
00007
00008 namespace SctCalibrationController {
00009 namespace Ipc {
00010
00011 class ScanLibrary : public IPCCallback, public virtual Sct_CalibrationController_T_ScanLibrary, boost::noncopyable {
00012 public:
00013 virtual Sct_SctApi_T_Scan * thresholdScan (Sct_CalibrationControllerStatus *_status, ilu_Cardinal nTrigs);
00014 virtual Sct_SctApi_T_Scan * thresholdScanfC (Sct_CalibrationControllerStatus *_status, ilu_Cardinal nTrigs, ilu_Real calCharge);
00015 virtual Sct_SctApi_T_Scan * strobeDelayScan (Sct_CalibrationControllerStatus *_status, ilu_Cardinal nTrigs);
00016 virtual Sct_SctApi_T_Scan * nmaskScan (Sct_CalibrationControllerStatus *_status, ilu_Cardinal nTrigs);
00017 virtual Sct_SctApi_T_Scan * tokenScan (Sct_CalibrationControllerStatus *_status);
00018
00019 virtual Sct_SctApi_T_Scan& thresholdScan(unsigned long nTrigs) const = 0;
00020 virtual Sct_SctApi_T_Scan& thresholdScanfC(unsigned long nTrigs, double calCharge) const = 0;
00021 virtual Sct_SctApi_T_Scan& strobeDelayScan(unsigned long nTrigs) const = 0;
00022 virtual Sct_SctApi_T_Scan& nmaskScan(unsigned long nTrigs) const = 0;
00023 virtual Sct_SctApi_T_Scan& tokenScan() const = 0;
00024
00025 protected:
00026 ScanLibrary();
00027 };
00028 }
00029 }
00030 #endif //SCANLIBRARY_H