Skip to content
Snippets Groups Projects
Commit 133a8bc2 authored by Stephen A. Wood's avatar Stephen A. Wood
Browse files

Avoid predetermined array lengths in THcHodoEff

parent 2012add4
No related branches found
No related tags found
No related merge requests found
...@@ -131,19 +131,22 @@ Int_t THcHodoEff::ReadDatabase( const TDatime& date ) ...@@ -131,19 +131,22 @@ Int_t THcHodoEff::ReadDatabase( const TDatime& date )
fCenterFirst = new Double_t[fNPlanes]; fCenterFirst = new Double_t[fNPlanes];
fNCounters = new Int_t[fNPlanes]; fNCounters = new Int_t[fNPlanes];
fHodoSlop = new Double_t[fNPlanes]; fHodoSlop = new Double_t[fNPlanes];
fHodoPosEffi = new Int_t[100];
fHodoNegEffi = new Int_t[100];
fHodoOrEffi = new Int_t[100];
fHodoAndEffi = new Int_t[100];
fStatTrk = new Int_t[100];
Int_t maxcountersperplane=0;
for(Int_t ip=0;ip<fNPlanes;ip++) { for(Int_t ip=0;ip<fNPlanes;ip++) {
fPlanes[ip] = fHod->GetPlane(ip); fPlanes[ip] = fHod->GetPlane(ip);
fPosZ[ip] = fPlanes[ip]->GetZpos() + 0.5*fPlanes[ip]->GetDzpos(); fPosZ[ip] = fPlanes[ip]->GetZpos() + 0.5*fPlanes[ip]->GetDzpos();
fSpacing[ip] = fPlanes[ip]->GetSpacing(); fSpacing[ip] = fPlanes[ip]->GetSpacing();
fCenterFirst[ip] = fPlanes[ip]->GetPosCenter(0) + fPlanes[ip]->GetPosOffset(); fCenterFirst[ip] = fPlanes[ip]->GetPosCenter(0) + fPlanes[ip]->GetPosOffset();
fNCounters[ip] = fPlanes[ip]->GetNelem(); fNCounters[ip] = fPlanes[ip]->GetNelem();
maxcountersperplane = TMath::Max(maxcountersperplane,fNCounters[ip]);
} }
Int_t totalpaddles = fNPlanes*maxcountersperplane;
fHodoPosEffi = new Int_t[totalpaddles];
fHodoNegEffi = new Int_t[totalpaddles];
fHodoOrEffi = new Int_t[totalpaddles];
fHodoAndEffi = new Int_t[totalpaddles];
fStatTrk = new Int_t[totalpaddles];
char prefix[2]; char prefix[2];
prefix[0] = tolower((fHod->GetApparatus())->GetName()[0]); prefix[0] = tolower((fHod->GetApparatus())->GetName()[0]);
...@@ -202,12 +205,11 @@ Int_t THcHodoEff::ReadDatabase( const TDatime& date ) ...@@ -202,12 +205,11 @@ Int_t THcHodoEff::ReadDatabase( const TDatime& date )
// gHcParms->Define(Form("%shodo_pos_hits[%d][%d]",fPrefix,fNPlanes,fHodPaddles), // gHcParms->Define(Form("%shodo_pos_hits[%d][%d]",fPrefix,fNPlanes,fHodPaddles),
// "Golden track's pos pmt hit",*&fStatPosHit); // "Golden track's pos pmt hit",*&fStatPosHit);
Int_t fTotalPaddles = 100; gHcParms->Define(Form("%shodo_pos_eff[%d]", prefix,totalpaddles), "Hodo positive effi",*fHodoPosEffi);
gHcParms->Define(Form("%shodo_pos_eff[%d]", prefix,fTotalPaddles), "Hodo positive effi",*fHodoPosEffi); gHcParms->Define(Form("%shodo_neg_eff[%d]", prefix,totalpaddles), "Hodo negative effi",*fHodoNegEffi);
gHcParms->Define(Form("%shodo_neg_eff[%d]", prefix,fTotalPaddles), "Hodo negative effi",*fHodoNegEffi); gHcParms->Define(Form("%shodo_or_eff[%d]", prefix,totalpaddles), "Hodo or effi", *fHodoOrEffi);
gHcParms->Define(Form("%shodo_or_eff[%d]", prefix,fTotalPaddles), "Hodo or effi", *fHodoOrEffi); gHcParms->Define(Form("%shodo_and_eff[%d]", prefix,totalpaddles), "Hodo and effi", *fHodoAndEffi);
gHcParms->Define(Form("%shodo_and_eff[%d]", prefix,fTotalPaddles), "Hodo and effi", *fHodoAndEffi); gHcParms->Define(Form("%shodo_gold_hits[%d]",prefix,totalpaddles), "Hodo golden hits", *fStatTrk);
gHcParms->Define(Form("%shodo_gold_hits[%d]",prefix,fTotalPaddles), "Hodo golden hits", *fStatTrk);
return kOK; return kOK;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment