diff --git a/core/detectors/mvd/CbmMvdDetector.cxx b/core/detectors/mvd/CbmMvdDetector.cxx index b99d53ee6b35ba6c2a780e0a643ee8751968e723..c4cea769a7b8f8488df2dbafab7951a48cabd44b 100644 --- a/core/detectors/mvd/CbmMvdDetector.cxx +++ b/core/detectors/mvd/CbmMvdDetector.cxx @@ -311,17 +311,6 @@ void CbmMvdDetector::ShowDebugHistos() } //----------------------------------------------------------------------- -//----------------------------------------------------------------------- -void CbmMvdDetector::SetProduceNoise() -{ - Int_t nSensors = fSensorArray->GetEntriesFast(); - CbmMvdSensor* sensor; - - for (Int_t j = 0; j < nSensors; j++) { - sensor = (CbmMvdSensor*) fSensorArray->At(j); - sensor->SetProduceNoise(); - } -} //----------------------------------------------------------------------- void CbmMvdDetector::SendInputToSensorPlugin(Int_t detectorid, Int_t nPlugin, TObject* input) { diff --git a/core/detectors/mvd/CbmMvdDetector.h b/core/detectors/mvd/CbmMvdDetector.h index 7e4dc3fb57f193511533da33ad5e9fc0068ff4f7..89fc571f1667f89c6f80cfcf6d192d5ac3c551e0 100644 --- a/core/detectors/mvd/CbmMvdDetector.h +++ b/core/detectors/mvd/CbmMvdDetector.h @@ -115,8 +115,6 @@ public: CbmMvdSensor* GetSensor(UInt_t nSensor) { return (CbmMvdSensor*) fSensorArray->At(nSensor); }; void PrintParameter() { fParameter->Print(); }; - void SetProduceNoise(); - static void SetSensorTyp(CbmMvdSensorTyp typ) { fSensorTyp = typ; }; void SetSensorArrayFilled(Bool_t value = kTRUE) {fSensorArrayFilled=value;} diff --git a/core/detectors/mvd/CbmMvdSensor.cxx b/core/detectors/mvd/CbmMvdSensor.cxx index ae0f732ffc279ee89d20514832d295cf5f3e1354..bd06febbc9371d17c57b7ad75c1210af95844d7e 100644 --- a/core/detectors/mvd/CbmMvdSensor.cxx +++ b/core/detectors/mvd/CbmMvdSensor.cxx @@ -11,18 +11,8 @@ //---Plugins #include "CbmMvdSensorPlugin.h" -#include "CbmMvdSensorTask.h" #include "CbmMvdSensorBuffer.h" -//#include "plugins/buffers/CbmMvdSensorFrameBuffer.h" // -> Not used -//#include "plugins/buffers/CbmMvdSensorTrackingBuffer.h" // -> Not used -//#include "plugins/tasks/CbmMvdSensorClusterfinderTask.h" //not needed khun - -#include "plugins/tasks/CbmMvdSensorDigiToHitTask.h" -//#include "plugins/tasks/CbmMvdSensorDigitizerTBTask.h" -#include "plugins/tasks/CbmMvdSensorDigitizerTask.h" -//#include "plugins/tasks/CbmMvdSensorFindHitTask.h" -#include "plugins/tasks/CbmMvdSensorHitfinderTask.h" //not needed khun -//---Plugins +#include "plugins/tasks/CbmMvdSensorTask.h" /// includes from ROOT #include "TGeoManager.h" @@ -281,33 +271,6 @@ void CbmMvdSensor::ShowDebugHistos() } // ------------------------------------------------------------------------- -// ------------------------------------------------------------------------- -void CbmMvdSensor::SetProduceNoise() -{ - CbmMvdSensorPlugin* pluginFirst; - // CbmMvdSensorFrameBuffer* framebuffer; - CbmMvdSensorDigitizerTask* digitask; - - pluginFirst = (CbmMvdSensorPlugin*) fPluginArray->At(0); - if (pluginFirst->GetPluginType() == buffer) { return; } - else if (pluginFirst->GetPluginType() == task) { - TString digitizername = "CbmMvdSensorDigitizerTask"; - - if (pluginFirst->ClassName() == digitizername) { - digitask = (CbmMvdSensorDigitizerTask*) fPluginArray->At(0); - digitask->SetProduceNoise(); - } - - else { - LOG(fatal) << "Invalid input typ"; - } - } - else { - cout << endl << "ERROR!! undefind plugin!" << endl; - } -} -// ------------------------------------------------------------------------- - // ------------------------------------------------------------------------- void CbmMvdSensor::SendInputToPlugin(Int_t nPlugin, TObject* input) @@ -317,9 +280,6 @@ void CbmMvdSensor::SendInputToPlugin(Int_t nPlugin, TObject* input) digitask->SetInput(input); } - - - // ------------------------------------------------------------------------- void CbmMvdSensor::ExecChain() @@ -448,20 +408,20 @@ TClonesArray* CbmMvdSensor::GetOutputArray(Int_t nPlugin) const if (nPlugin == fHitPlugin) GetOutputBuffer(); else if (nPlugin == fDigiPlugin) { - CbmMvdSensorDigitizerTask* digiplugin = (CbmMvdSensorDigitizerTask*) fPluginArray->At(nPlugin); - Int_t ArrayLength = digiplugin->GetOutputArray()->GetEntriesFast() - 1; + CbmMvdSensorTask* plugin = static_cast<CbmMvdSensorTask*>(fPluginArray->At(nPlugin)); + Int_t ArrayLength = plugin->GetOutputArray()->GetEntriesFast() - 1; if (ArrayLength >= 0) { - foutputDigis->AbsorbObjects(digiplugin->GetOutputArray()); - foutputDigiMatch->AbsorbObjects(digiplugin->GetMatchArray()); + foutputDigis->AbsorbObjects(plugin->GetOutputArray()); + foutputDigiMatch->AbsorbObjects(plugin->GetMatchArray()); //cout << endl << "got digis " << foutputDigis->GetEntriesFast() << " and matches " << foutputDigiMatch->GetEntriesFast() << endl; } return (foutputDigis); } else if (nPlugin == fClusterPlugin) //khun not needed { - CbmMvdSensorClusterfinderTask* clusterplugin = (CbmMvdSensorClusterfinderTask*) fPluginArray->At(nPlugin); - Int_t ArrayLength = clusterplugin->GetOutputArray()->GetEntriesFast() - 1; - if (ArrayLength >= 0) foutputCluster->AbsorbObjects(clusterplugin->GetOutputArray(), 0, ArrayLength); + CbmMvdSensorTask* plugin = static_cast<CbmMvdSensorTask*>(fPluginArray->At(nPlugin)); + Int_t ArrayLength = plugin->GetOutputArray()->GetEntriesFast() - 1; + if (ArrayLength >= 0) foutputCluster->AbsorbObjects(plugin->GetOutputArray(), 0, ArrayLength); return (foutputCluster); } else { diff --git a/core/detectors/mvd/CbmMvdSensor.h b/core/detectors/mvd/CbmMvdSensor.h index 37ab20480ce6fae541296f8d36a07085fcbd889c..244e55788ed6e7a1e9b766773eb90e2a96c48ffd 100644 --- a/core/detectors/mvd/CbmMvdSensor.h +++ b/core/detectors/mvd/CbmMvdSensor.h @@ -142,9 +142,6 @@ public: //TClonesArray* GetOutputMatch() const; Int_t GetOutputArrayLen(Int_t nPlugin) const; - void SetProduceNoise(); - - protected: Int_t fStationNr; // Station identifier Int_t fSensorNr; // Sensor identifier diff --git a/sim/detectors/mvd/CbmMvdDigitizer.cxx b/sim/detectors/mvd/CbmMvdDigitizer.cxx index 66a9bfc4c603400e5710cfa4016b6dbfdd58a2fd..a73f88411c0f29d003589279607c0cfa12532e9d 100644 --- a/sim/detectors/mvd/CbmMvdDigitizer.cxx +++ b/sim/detectors/mvd/CbmMvdDigitizer.cxx @@ -316,6 +316,7 @@ InitStatus CbmMvdDigitizer::Init() for (auto itr = sensorMap.begin(); itr != sensorMap.end(); itr++) { CbmMvdSensorDigitizerTask* digiTask = new CbmMvdSensorDigitizerTask(); + if (fNoiseSensors) digiTask->SetProduceNoise(); itr->second->AddPlugin(digiTask); itr->second->SetDigiPlugin(plugincount); }