145 if ( fVerbose > 2 ) {
146 cout << endl <<
"-I- " << fName <<
": executing event" << endl;
147 cout <<
"----------------------------------------------" << endl;
152 cerr <<
"-W- " << fName <<
"::Exec: No input array (STSPoint) "
154 cout <<
"- " << fName << endl;
158 for (Int_t iPoint=0; iPoint<fPoints->GetEntriesFast(); iPoint++) {
162 Double_t xIn = point->
GetXIn();
163 Double_t yIn = point->
GetYIn();
164 Double_t zIn = point->
GetZIn();
166 gGeoManager->FindNode(xIn,yIn,zIn);
167 TGeoNode* curNode = gGeoManager->GetCurrentNode();
180 LOG(fatal) <<
"No sensor in DigiScheme with name: " << curNode->GetName();
186 if ( ! point->
IsUsable() )
continue;
187 Double_t xpt = point->
GetX(sensor->
GetZ0());
188 Double_t ypt = point->
GetY(sensor->
GetZ0());
199 Float_t tempX = sensor->
GetX0();
200 Float_t tempY = sensor->
GetY0();
202 Float_t tempLX = sensor->
GetLx()/2.*TMath::Cos(rot)+sensor->
GetLy()/2.*TMath::Sin(rot);
203 Float_t tempLY = sensor->
GetLy()/2.*TMath::Cos(rot)+sensor->
GetLx()/2.*TMath::Sin(rot);
206 cout << fName <<
". Warning: Point " << xpt <<
", " << ypt <<
", " << sensor->
GetZ0() <<
" not inside sector." << endl;
213 Int_t sectorDetId = 2 << 24 | stationNr << 16 | sectorNr << 4;
216 pair<Int_t, Int_t> a(sectorDetId, channelF);
217 if ( fChannelMap.find(a) == fChannelMap.end() ) {
219 new ((*fDigis)[fNDigis])
CbmStsDigi(stationNr, sectorNr,
222 fChannelMap[a] = fNDigis;
227 Int_t iDigi = fChannelMap[a];
231 match->AddPoint(iPoint);
241 cerr <<
"-W- " << fName <<
"::Exec: No back side channel "
242 <<
" for StsPoint " << iPoint <<
", station "
243 << stationNr <<
", sector " << sectorNr
244 <<
", front side channel " << channelF << endl;
247 sectorDetId = sectorDetId | (1<<0);
249 pair<Int_t, Int_t> b(sectorDetId, channelB);
250 if ( fChannelMap.find(b) == fChannelMap.end() ) {
252 new ((*fDigis)[fNDigis])
CbmStsDigi(stationNr, sectorNr,
255 fChannelMap[b] = fNDigis;
260 Int_t iDigi = fChannelMap[b];
264 match->AddPoint(iPoint);
270 if ( fVerbose > 2 ) {
272 cout <<
"StsPoint " << iPoint <<
", station " << stationNr
273 <<
", (" << xpt <<
", " << ypt <<
") cm, sector "
274 << sectorNr <<
", front " << channelF <<
", back "
280 if ( sectorNr == -1 ) fNOutside++;
288 cout << setw(15) << left << fName <<
": " << setprecision(4) << setw(8)
289 << fixed << right << fTimer.RealTime()
290 <<
" s, points " << fNPoints <<
", failed " << fNFailed
291 <<
", outside " << fNOutside <<
", multihits " << fNMulti
292 <<
", digis " << fNDigis << endl;