TestApi.h

00001 #ifndef SCTTEST_TESTAPI
00002 #define SCTTEST_TESTAPI
00003 
00004 #include "SctApi/SctApi.h"
00005 #include "SctApi/SctApiHisto.h"
00006 #include <memory>
00007 #include <string>
00008 #include <boost/shared_ptr.hpp>
00009 #include "Globals.h"
00010 
00011 using std::string;
00012 using std::auto_ptr;
00013 
00014 class TH1F;
00015 class TFile;
00016 
00017 namespace SctConfiguration {
00018     class Configuration;
00019 }
00020 
00021 namespace SctApi {
00022   class Idiosyncrasy;
00023 };
00024 
00025 namespace SctTest {
00026 
00027 class TestApi : public SctApi::SctApi {
00028 public:
00029     TestApi(const ::SctApi::Idiosyncrasy & id);
00030     TestApi(const ::SctApi::Idiosyncrasy & id, boost::shared_ptr<SctConfiguration::Configuration> newConf);
00031     virtual ~TestApi() {}
00032 
00033 protected:
00034     //Initialise methods
00035     virtual int initialiseRod(unsigned int partition, unsigned int crate, unsigned int rod);
00036     virtual int initialiseTim(unsigned int partition, unsigned int crate);
00037     virtual int initialiseBOC(unsigned int partition, unsigned int crate, unsigned int rod);
00038     //virtual int initialiseModule(std::string module);
00039     
00040     //Config methods
00041     virtual void getABCDModule(UINT32 mid, ::SctApi::BankType bank);
00042     virtual void setABCDModule(UINT32 mid, ::SctApi::BankType bank);
00043     virtual void sendABCDModule(UINT32 mid, ::SctApi::BankType bank, UINT32 type=2);
00044     virtual void sendAllABCDModules(::SctApi::BankType bank, UINT32 type = 2);
00045     
00046     //Scan methods
00047     virtual bool preScanHardwareCheck(::SctApi::Scan& scan, ::SctApi::ScanEx& extra);
00048     virtual int pollHistogramming(::SctApi::ScanEx &ex, int bins, int events, int timeout);
00049     virtual char* readHistogramRawData(const ::SctApi::Scan& scan, const ::SctApi::ScanEx& extra, UINT32 mid, int frame);
00050     
00051 private:
00052     static double calculateScanTime(const ::SctApi::ScanEx& ex);
00053     void modifyScanInformation(const ::SctApi::Scan& c_scan, const TH1F& triggerData);
00054 };
00055 
00056 }
00057 
00058 #endif //SCTTEST_TESTAPI

Generated on Mon Feb 6 14:01:34 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6