Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages

CharacterizationSequence.h

00001 #ifndef CHARACTERIZATIONSEQUENCE_H
00002 #define CHARACTERIZATIONSEQUENCE_H
00003 
00004 #include "../ipc/SequenceRequest.h"
00005 #include "../ipc/TestRequest.h"
00006 #include "../ipc/CalibrationController.h"
00007 #include "../ipc/TestLibrary.h"
00008 #include "../ipc/CalibrationController.hh"
00009 #include "Sct/OmniMarshalling.h"
00010 #include <iostream>
00011 
00012 using namespace std;
00013 
00014 namespace SctCalibrationController {
00015     
00016 using namespace Ipc;
00017 
00018 namespace Scripts {
00019     
00020 class CharacterizationSequence : public SequenceRequestImpl {
00021 public: 
00022     static Sct_CalibrationController::SequenceRequest_ptr instance() {
00023         static CharacterizationSequence cs;
00024         return cs._this();
00025     }
00026     
00027     virtual char * startSequence(Sct_SctApi::SctApiIPC_ptr api) {
00028         this->api = Sct_SctApi::SctApiIPC::_duplicate(api);
00029         return ::Sct::copyStringToCorba("CharacterizationSequence");
00030     }
00031     
00032     virtual Sct_CalibrationController::TestRequest_ptr getNextTest(unsigned long index) {
00033     Sct_CalibrationController::TestLibrary_var tl = CalibrationControllerImpl::instance()->getTestLibrary();
00034     switch (index) {
00035     case 0:
00036         return tl->getTestRequestByName("NMask");
00037     case 1:
00038 #warning Only Barrel combinations of bypass included in characterization sequence
00039         return tl->getTestRequestByName("FullBypassBarrel");        
00040     case 2:
00041         return tl->getTestRequestByName("Pipeline");
00042     case 3:
00043         return tl->getTestRequestByName("StrobeDelay");
00044     case 4:
00045         return tl->getTestRequestByName("ThreePointGain");
00046     case 5:
00047             return tl->getTestRequestByName("TrimRange");
00048         case 6:
00049         return tl->getTestRequestByName("ResponseCurve");
00050     case 7:
00051         return tl->getTestRequestByName("NoiseOccupancy");
00052     case 8:
00053         return tl->getTestRequestByName("TimeWalk");
00054     default:
00055         return Sct_CalibrationController::TestRequest::_nil();
00056     }
00057     }
00058     
00059     virtual void endSequence() {
00060     api = Sct_SctApi::SctApiIPC::_nil();
00061     }     
00062     
00063 private:
00064     Sct_SctApi::SctApiIPC_var api;
00065     CharacterizationSequence() {}
00066 };
00067 }
00068 }
00069 #endif //CHARACTERIZATIONSEQUENCE_H

Generated on Fri Dec 16 19:38:07 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5