00001 /******************************************************************** 00002 * The Data Acquisition Backbone Core (DABC) 00003 ******************************************************************** 00004 * Copyright (C) 2009- 00005 * GSI Helmholtzzentrum fuer Schwerionenforschung GmbH 00006 * Planckstr. 1 00007 * 64291 Darmstadt 00008 * Germany 00009 * Contact: http://dabc.gsi.de 00010 ******************************************************************** 00011 * This software can be used under the GPL license agreements as stated 00012 * in LICENSE.txt file which is part of the distribution. 00013 ********************************************************************/ 00014 #ifndef BNET_RocWorkerApplication 00015 #define BNET_RocWorkerApplication 00016 00017 #include "bnet/MbsWorkerApplication.h" 00018 00019 #include "roc/BoardsVector.h" 00020 00021 namespace bnet { 00022 00023 class RocWorkerApplication : public MbsWorkerApplication { 00024 00025 public: 00026 RocWorkerApplication(); 00027 00028 virtual bool CreateReadout(const char* portname, int portnumber); 00029 00030 virtual bool CreateCombiner(const char* name); 00031 00032 virtual std::string GetCombinerOutputName(const char* name); 00033 00034 virtual int ExecuteCommand(dabc::Command* cmd); 00035 00036 virtual bool AfterAppModulesStopped(); 00037 00038 virtual bool BeforeAppModulesDestroyed(); 00039 00040 00041 // virtual bool CreateBuilder(const char* name); 00042 00043 // virtual bool CreateFilter(const char* name); 00044 protected: 00045 00050 bool SwitchCalibrationMode(bool on); 00051 00052 enum ECalibrationState { calNONE, calOFF, calON }; 00053 00054 roc::BoardsVector fRocBrds; 00056 ECalibrationState fCalibrState; 00057 00058 std::string fCombinerName; 00059 bool fDoMeasureADC; 00060 }; 00061 } 00062 00063 #endif