Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | 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 #include "Sct/BugReport.h"
00012 
00013 using namespace std;
00014 
00015 namespace SctCalibrationController {
00016     
00017 using namespace Ipc;
00018 
00019 namespace Scripts {
00020     
00021 class CharacterizationSequence : public SequenceRequestImpl {
00022 public: 
00023     static Sct_CalibrationController::SequenceRequest_ptr instance() {
00024     static CharacterizationSequence cs;
00025     return cs._this();
00026     }
00027     
00028     virtual char * startSequence(Sct_SctApi::SctApiIPC_ptr api) {
00029       Sct::BugReport("BUG01", "CharacterisationSequence.h","IS IT THIS ONE? startSequence");
00030       this->api = Sct_SctApi::SctApiIPC::_duplicate(api);
00031       return ::Sct::copyStringToCorba("CharacterizationSequence");
00032     }
00033     
00034     virtual Sct_CalibrationController::TestRequest_ptr getNextTest(unsigned long index) {
00035     Sct_CalibrationController::TestLibrary_var tl = CalibrationControllerImpl::instance()->getTestLibrary();
00036     switch (index) {
00037     case 0:
00038         return tl->getTestRequestByName("NMask");
00039     case 1:
00040 #warning Only Barrel combinations of bypass included in characterization sequence
00041         return tl->getTestRequestByName("FullBypassBarrel");        
00042     case 2:
00043         return tl->getTestRequestByName("Pipeline");
00044     case 3:
00045         return tl->getTestRequestByName("StrobeDelay");
00046     case 4:
00047         return tl->getTestRequestByName("ThreePointGain");
00048     case 5:
00049             return tl->getTestRequestByName("TrimRange");
00050         case 6:
00051         return tl->getTestRequestByName("ResponseCurve");
00052     case 7:
00053         return tl->getTestRequestByName("NoiseOccupancy");
00054     case 8:
00055         return tl->getTestRequestByName("TimeWalk");
00056     default:
00057         return Sct_CalibrationController::TestRequest::_nil();
00058     }
00059     }
00060     
00061     virtual void endSequence() {
00062     api = Sct_SctApi::SctApiIPC::_nil();
00063     }     
00064     
00065 private:
00066     Sct_SctApi::SctApiIPC_var api;
00067     CharacterizationSequence() {}
00068 };
00069 }
00070 }
00071 #endif //CHARACTERIZATIONSEQUENCE_H

Generated on Mon Feb 21 11:43:40 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5