// ------------------------------------------------------------------------ // ----- CbmMvdSensorPlugin header file ----- // ----- Created 02/02/12 by M. Deveaux ----- // ------------------------------------------------------------------------ /** CbmMvdSensorPlugin.h *@author M.Deveaux ** ** Base class for the plugins of the MVD sensor ** **/ #ifndef CBMMVDSENSORPLUGIN_H #define CBMMVDSENSORPLUGIN_H 1 #include #include "FairTask.h" //needed to get data type InitStatus #include "CbmMvdPoint.h" class TClonesArray; class CbmMvdSensor; using std::cout; using std::endl; enum MvdSensorPluginType {task, buffer}; class CbmMvdSensorPlugin : public TObject { public: /** Default constructor **/ CbmMvdSensorPlugin(); /** Destructor **/ virtual ~CbmMvdSensorPlugin(); virtual const MvdSensorPluginType GetPluginType(){;} virtual void Init(){;} virtual void Exec(){;} virtual void ExecChain(){;} virtual TClonesArray* GetInputArray(){;} virtual TClonesArray* GetOutputArray(){cout << endl << "not implemented" << endl;} virtual TClonesArray* GetWriteArray(){cout << endl << "not implemented" << endl;} virtual void SetInputArray(TClonesArray* inputArray){;} virtual void SetInput(CbmMvdPoint* point){;} virtual void SetOutputArray(TClonesArray* outputArray){;} virtual void SetNextPlugin(CbmMvdSensorPlugin* plugin) {fNextPlugin=plugin;} virtual void SetPreviousPlugin(CbmMvdSensorPlugin* plugin) {fPreviousPlugin=plugin;} virtual CbmMvdSensorPlugin* GetNextPlugin() {return fNextPlugin;} virtual CbmMvdSensorPlugin* GetPrevousPlugin(){return fPreviousPlugin;} virtual bool PluginReady(){return (bFlag);}; virtual void SetPluginReady(bool flag) {bFlag = flag;} /** data members **/ CbmMvdSensorPlugin* fNextPlugin; CbmMvdSensorPlugin* fPreviousPlugin; protected: bool bFlag; ClassDef(CbmMvdSensorPlugin,1); }; #endif