25 FairRootManager* ioman = FairRootManager::Instance();
27 fBmnBCPointsArray = (TClonesArray*) ioman->GetObject(fInputBranchName);
29 fBmnBCHitsArray =
new TClonesArray(fOutputHitsBranchName);
30 ioman->Register(fOutputHitsBranchName,
"BC", fBmnBCHitsArray, kTRUE);
32 if (fVerbose) cout <<
" BmnBCHitProducer::Init() finished\n\n";
37 clock_t tStart = clock();
38 fBmnBCHitsArray->Delete();
44 Int_t NumberofHits = 0;
45 vector <Int_t> chargesBC3;
46 vector <Int_t> chargesBC4;
48 for (Int_t ipoint = 0; ipoint < fBmnBCPointsArray->GetEntriesFast(); ipoint++) {
49 BCPoint = (
BmnBCPoint*) fBmnBCPointsArray->At(ipoint);
50 if(BCPoint->
GetStation() == 1){ ELoss1 += BCPoint->GetEnergyLoss(); }
51 else if (BCPoint->
GetStation() == 2) { ELoss2 += BCPoint->GetEnergyLoss();}
53 ELoss3 += BCPoint->GetEnergyLoss();
54 chargesBC3.push_back(BCPoint->
GetCharge());
56 ELoss4 += BCPoint->GetEnergyLoss();
57 chargesBC4.push_back(BCPoint->
GetCharge());}
60 new ((*fBmnBCHitsArray)[fBmnBCHitsArray->GetEntriesFast()])
61 BmnBCHit(ELoss1,ELoss2,ELoss3,ELoss4, NumberofHits,chargesBC3, chargesBC4);
66 if (!fBmnBCPointsArray) {
67 Error(
" BmnBCHitProducer::Exec()",
" !!! Unknown branch name !!! ");
72 cout <<
" BmnBCHitProducer::Exec(), Number of BmnBCPoints = " << fBmnBCPointsArray->GetEntriesFast() <<
"\n";
75 if (fVerbose) cout <<
" BmnBCHitProducer::Exec() finished\n\n";
77 clock_t tFinish = clock();
78 workTime += ((Float_t) (tFinish - tStart)) / CLOCKS_PER_SEC;