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