// ------------------------------------------------------------------------- // ----- 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 "tasks/CbmMvdPointToHitConverter.h" #include "tasks/CbmMvdSensorTask.h" #include "tasks/CbmMvdSensorDigitizerTask.h" #include "buffers/CbmMvdSensorBuffer.h" #include "buffers/CbmMvdSensorFrameBuffer.h" #include "buffers/CbmMvdSensorTrackingBuffer.h" #include "CbmMvdSensorPlugin.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(){;} TClonesArray* GetOutputBuffer(); void SendClonesArray(TClonesArray* addedStructures, Int_t dataLevel=0){;} TClonesArray* GetClonesArray(Int_t dataLevel){;} Int_t GetSensorArraySize(){return(fSensorArray->GetEntriesFast());} TClonesArray* GetCurrentEvent (); /** Initialisation */ void AddSensor(TString clearName, TString fullName, TString nodeName, CbmMvdSensorDataSheet* sensorData, Int_t stationNr, Int_t volumeId, Double_t sensorStartTime); 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);}; private: TClonesArray* fSensorArray; TClonesArray* fSensorIDArray; //Array of Sensor ID TObjArray* fPluginArray; TClonesArray* foutput; TClonesArray* foutputBuffer; TClonesArray* fcurrentEvent; /** Data members */ static CbmMvdDetector* fInstance; Bool_t fSensorArrayFilled; ClassDef(CbmMvdDetector,1); }; #endif