11 #include "FairRootManager.h"
12 #include "FairDetector.h"
14 #include "FairRuntimeDb.h"
16 #include "TClonesArray.h"
40 cout <<
"-I- PndMdtClusterTask::Init: "
41 <<
"INITIALIZATION *********************" << endl;
47 FairRootManager* ioman = FairRootManager::Instance();
49 cout <<
"-E- PndMdtClusterTask::Init: "
50 <<
"RootManager not instantiated!" << endl;
55 fBoxIArray = (TClonesArray*) ioman->GetObject(
"MdtDigiBox");
57 cout <<
"-W- PndMdtClusterTask::Init: "
58 <<
"No MdtDigiBox array!" << endl;
62 fStripIArray = (TClonesArray*) ioman->GetObject(
"MdtDigiStrip");
64 cout <<
"-W- PndMdtClusterTask::Init: "
65 <<
"No MdtDigiStrip array!" << endl;
71 fBoxOArray =
new TClonesArray(
"PndMdtCluster");
76 cout <<
"-I- PndMdtClusterTask: Intialization successfull" << endl;
96 map<Int_t, Int_t>::const_iterator box_iter;
97 map<Int_t, Int_t>::const_iterator find_iter;
98 for (box_iter=
mapBox.begin();box_iter!=
mapBox.end();++box_iter)
100 std::vector<Int_t> boxList;
101 boxList.push_back((*box_iter).first);
106 find_iter =
mapBox.find((*box_iter).first+nn);
107 if (find_iter==
mapBox.end())
break;
108 boxList.push_back((*box_iter).first+nn);
109 mapBox.erase ((*box_iter).first+nn);
113 boxClu->SetLinks(FairMultiLinkedData(
"MdtDigiBox", boxList));
120 map<Int_t, Int_t>::const_iterator strip_iter;
121 map<Int_t, Int_t>::const_iterator find_iter;
124 std::vector<Int_t> stripList;
125 stripList.push_back((*strip_iter).first);
130 find_iter =
mapStrip.find((*strip_iter).first+nn);
131 if (find_iter==
mapStrip.end())
break;
132 stripList.push_back((*strip_iter).first+nn);
133 mapStrip.erase ((*strip_iter).first+nn);
137 stripClu->SetLinks(FairMultiLinkedData(
"MdtDigiStrip", stripList));
150 if (nBox==0 || nStrip==0)
return kFALSE;
155 for (Int_t iDigi=0; iDigi<nBox; iDigi++)
160 mapBox[newDetectorID] = iDigi;
164 for (Int_t iDigi=0; iDigi<nStrip; iDigi++)
189 Int_t size = clref.GetEntriesFast();
201 Int_t size = clref.GetEntriesFast();
PndMdtCluster * AddClusterStrip(std::vector< Int_t > digiList)
TClonesArray * fStripOArray
virtual InitStatus Init()
map< Int_t, Int_t > mapStrip
void SetPersistency(Bool_t val=kTRUE)
virtual void Exec(Option_t *opt)
TClonesArray * fBoxOArray
PndMdtCluster * AddClusterBox(std::vector< Int_t > digiList)
Short_t GetLayerID() const
TClonesArray * fStripIArray
TClonesArray * fBoxIArray
Int_t GetDetectorID() const
Short_t GetSector() const
Short_t GetModule() const
map< Int_t, Int_t > mapBox