// ------------------------------------------------------------------------- // ----- CbmMvdDetector header file ----- // ----- Created 02/12/08 by M. Deveaux ----- // ------------------------------------------------------------------------- /** CbmMvdDetector.h *@author M.Deveaux ** ** Singleton holding information on all sensors of the MVD. ** User interface to the MVD-Software ** **/ #ifndef CBMMVDDETECTOR_H #define CBMMVDDETECTOR_H 1 #include #include "TNamed.h" #include "TString.h" #include "CbmMvdSensor.h" #include "TGeoMatrix.h" #include "TGeoVolume.h" #include "TGeoBBox.h" #include "CbmMvdSensor.h" #include "TClonesArray.h" #include "CbmMvdSensorTask.h" using std::vector; // data classes class CbmMvdPoint; class CbmMvdSensorData; class CbmMvdSensorBuffer; class CbmMvdSensorPlugin; class CbmMvdDetector : public TNamed { public: CbmMvdDetector(); CbmMvdDetector(const char* name); /** * static instance */ static CbmMvdDetector* Instance(); /** Destructor **/ virtual ~CbmMvdDetector(); /** Data interface */ void SendInput(TClonesArray* input){;} TClonesArray* GetOuput(){;} void SendClonesArray(TClonesArray* addedStructures, Int_t dataLevel=0){;} TClonesArray* GetClonesArray(Int_t dataLevel){;} /** Initialisation */ void AddSensor(TString clearName, TString fullName, TString nodeName, CbmMvdSensorDataSheet* sensorData); void AddPlugin(CbmMvdSensorPlugin* plugin); void BuildDebugHistograms(){;}; void Init(); /** Data Processing */ void ExecChain(); //Processes the full execution chain void Exec(UInt_t nLevel); //Processes Element nLevel of the chain /** Finish */ void Finish(){;} void StoreDebugHistograms(TString fileName){;} /** Accessors */ CbmMvdSensor* GetSensor(UInt_t nSensor){return (CbmMvdSensor*)fSensorArray->At(nSensor);}; TClonesArray* fSensorArray; TObjArray* fPluginArray; /** Data members */ static CbmMvdDetector* fInstance; Bool_t fSensorArrayFilled; ClassDef(CbmMvdDetector,1); }; #endif