--- DarthVader/CalorimeterLevel2/src/CaloLevel2.cpp 2006/05/19 13:15:49 1.1 +++ DarthVader/CalorimeterLevel2/src/CaloLevel2.cpp 2006/07/21 10:56:22 1.4 @@ -114,6 +114,105 @@ estrip = TArrayF(0,NULL); }; +void CaloLevel2::Clear() { + // + CaloTrk->Clear(); + // + nstrip = 0; + qtot = 0.; + impx = 0.; + impy = 0.; + tanx = 0.; + tany = 0.; + qmax = 0.; + nx22 = 0; + qx22 = 0.; + elen = 0.; + selen = 0.; + for (Int_t i = 0; i<4 ; i++){ + qq[i] = 0.; + perr[i] = 0; + swerr[i] = 0; + crc[i] = 0; + if ( i < 2 ){ + planemax[i] = 0; + varcfit[i] = 0.; + npcfit[i] = 0; + for ( Int_t j = 0; j<22; j++){ + cibar[j][i] = 0; + cbar[j][i] = 0.; + }; + }; + }; + good = 0; + selftrigger = 0; + // estrip = TArrayF(0,NULL); + estrip.Reset(); +}; + + +/** + * Fills a struct cCaloLevel2 with values from a CaloLevel2 object (to put data into a F77 common). + */ +void CaloLevel2::GetLevel2Struct(cCaloLevel2 *l2) const { + + l2->good = good; + l2->selftrigger = selftrigger; + l2->nstrip = nstrip; + l2->nx22 = nx22; + l2->qtot = qtot; + l2->qx22 = qx22; + l2->qmax = qmax; + l2->impx = impx; + l2->impy = impy; + l2->tanx = tanx; + l2->tany = tany; + l2->elen = elen; + l2->selen = selen; + + for(Int_t i=0;i<2;i++){ + l2->planemax[i] = planemax[i]; + l2->varcfit[i] = varcfit[i]; + l2->npcfit[i] = npcfit[i]; + } + for(Int_t i=0;i<4;i++){ + l2->perr[i] = perr[i]; + l2->swerr[i] = swerr[i]; + l2->calcrc[i] = crc[i]; + l2->qq[i] = qq[i]; + } + + l2->calntrk = CaloTrk->GetEntries(); + + for(Int_t i=0;icalntrk;i++){ + l2->caltrkseqno[i] = ((CaloTrkVar *)CaloTrk->At(i))->trkseqno; + l2->ncore[i] = ((CaloTrkVar *)CaloTrk->At(i))->ncore; + l2->noint[i] = ((CaloTrkVar *)CaloTrk->At(i))->noint; + l2->ncyl[i] = ((CaloTrkVar *)CaloTrk->At(i))->ncyl; + l2->nlast[i] = ((CaloTrkVar *)CaloTrk->At(i))->nlast; + l2->npre[i] = ((CaloTrkVar *)CaloTrk->At(i))->npre; + l2->npresh[i] = ((CaloTrkVar *)CaloTrk->At(i))->npresh; + l2->ntr[i] = ((CaloTrkVar *)CaloTrk->At(i))->ntr; + l2->planetot[i] = ((CaloTrkVar *)CaloTrk->At(i))->planetot; + l2->nlow[i] = ((CaloTrkVar *)CaloTrk->At(i))->nlow; + l2->qcore[i] =((CaloTrkVar *)CaloTrk->At(i))->qcore ; + l2->qcyl[i] = ((CaloTrkVar *)CaloTrk->At(i))->qcyl; + l2->qlast[i] = ((CaloTrkVar *)CaloTrk->At(i))->qlast; + l2->qpre[i] = ((CaloTrkVar *)CaloTrk->At(i))->qpre; + l2->qpresh[i] = ((CaloTrkVar *)CaloTrk->At(i))->qpresh; + l2->qtr[i] = ((CaloTrkVar *)CaloTrk->At(i))->qtr; + l2->qtrack[i] = ((CaloTrkVar *)CaloTrk->At(i))->qtrack; + l2->qtrackx[i] = ((CaloTrkVar *)CaloTrk->At(i))->qtrackx; + l2->qtracky[i] = ((CaloTrkVar *)CaloTrk->At(i))->qtracky; + l2->dxtrack[i] = ((CaloTrkVar *)CaloTrk->At(i))->dxtrack; + l2->dytrack[i] = ((CaloTrkVar *)CaloTrk->At(i))->dytrack; + l2->qmean[i] = ((CaloTrkVar *)CaloTrk->At(i))->qmean; + l2->qlow[i] = ((CaloTrkVar *)CaloTrk->At(i))->qlow; + l2->dX0l[i] = ((CaloTrkVar *)CaloTrk->At(i))->dX0l; + } + +} + /** * Gives the detected energy for the given strip once loaded the event **/