Skip to content

Commit 8a5cc23

Browse files
committed
switch CVT and DC hit bank reading to enums
1 parent 57a15b6 commit 8a5cc23

2 files changed

Lines changed: 58 additions & 53 deletions

File tree

reconstruction/cvt/src/main/java/org/jlab/rec/cvt/banks/HitReader.java

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import org.jlab.detector.banks.RawDataBank;
1010
import org.jlab.detector.base.DetectorDescriptor;
1111
import org.jlab.detector.base.DetectorType;
12+
import org.jlab.io.banks.BMT__adc;
13+
import org.jlab.io.banks.BST__adc;
1214
import org.jlab.io.base.DataEvent;
1315
import org.jlab.rec.cvt.Constants;
1416
import org.jlab.rec.cvt.Geometry;
@@ -112,11 +114,11 @@ public void fetch_BMTHits(DataEvent event, Swim swim, IndexedTable status,
112114
//if (bankDGTZ.getInt("ADC", i) < 1) {
113115
//continue; // gemc assigns strip value -1 for inefficiencies, we only consider strips with values between 1 to the maximum strip number for a given detector
114116
//}
115-
int sector = bankDGTZ.getByte("sector", i);
116-
int layer = bankDGTZ.getByte("layer", i);
117-
int strip = bankDGTZ.getShort("component", i);
118-
double ADCtoEdep = bankDGTZ.getInt("ADC", i);
119-
double time = bankDGTZ.getFloat("time", i);
117+
int sector = bankDGTZ.getByte(BMT__adc.sector, i);
118+
int layer = bankDGTZ.getByte(BMT__adc.layer, i);
119+
int strip = bankDGTZ.getShort(BMT__adc.component, i);
120+
double ADCtoEdep = bankDGTZ.getInt(BMT__adc.ADC, i);
121+
double time = bankDGTZ.getFloat(BMT__adc.time, i);
120122
int order = bankDGTZ.trueOrder(i);
121123
//if (order == 1) {
122124
// continue;
@@ -248,8 +250,8 @@ public void fetch_SVTHits(DataEvent event, int omitLayer, int omitHemisphere,
248250
//The value adcStatus in ccdb is 1 for runs where ADC=-1 is not permitted and 0 for runs where ADC=-1 is permitted
249251

250252
int adcStat = adcStatus.getIntValue("adcstatus", 0, 0, 0);
251-
for (int i = 0; i < rows; i++) {
252-
int ADC = bankDGTZ.getInt("ADC", i);
253+
for (int i = 0; i < rows; i++) {
254+
int ADC = bankDGTZ.getInt(BST__adc.ADC, i);
253255
if(ADCConvertor.isEventUnCorrupted(ADC, adcStat)==false) {
254256
return;
255257
}
@@ -259,11 +261,11 @@ public void fetch_SVTHits(DataEvent event, int omitLayer, int omitHemisphere,
259261
// first get tdcs
260262
Map<Integer, Double> tdcs = new HashMap<>();
261263
for (int i = 0; i < rows; i++) {
262-
if(bankDGTZ.getInt("ADC", i) < 0) {
263-
int sector = bankDGTZ.getByte("sector", i);
264-
int layer = bankDGTZ.getByte("layer", i);
265-
int strip = bankDGTZ.getShort("component", i);
266-
double time = bankDGTZ.getFloat("time", i);
264+
if(bankDGTZ.getInt(BST__adc.ADC, i) < 0) {
265+
int sector = bankDGTZ.getByte(BST__adc.sector, i);
266+
int layer = bankDGTZ.getByte(BST__adc.layer, i);
267+
int strip = bankDGTZ.getShort(BST__adc.component, i);
268+
double time = bankDGTZ.getFloat(BST__adc.time, i);
267269

268270
//if (order == 1) {
269271
// continue;
@@ -283,15 +285,15 @@ public void fetch_SVTHits(DataEvent event, int omitLayer, int omitHemisphere,
283285

284286
// then get real hits
285287
for (int i = 0; i < rows; i++) {
286-
if (bankDGTZ.getInt("ADC", i) < 0) {
288+
if (bankDGTZ.getInt(BST__adc.ADC, i) < 0) {
287289
continue; // ignore hits TDC hits with ADC==-1
288290
}
289-
int order = bankDGTZ.getByte("order", i);
291+
int order = bankDGTZ.getByte(BST__adc.order, i);
292+
int sector = bankDGTZ.getByte(BST__adc.sector, i);
293+
int layer = bankDGTZ.getByte(BST__adc.layer, i);
294+
int strip = bankDGTZ.getShort(BST__adc.component, i);
295+
int ADC = bankDGTZ.getInt(BST__adc.ADC, i);
290296
int id = i + 1;
291-
int sector = bankDGTZ.getByte("sector", i);
292-
int layer = bankDGTZ.getByte("layer", i);
293-
int strip = bankDGTZ.getShort("component", i);
294-
int ADC = bankDGTZ.getInt("ADC", i);
295297
double time = 0;//bankDGTZ.getFloat("time", i);
296298
int tdcstrip = 1;
297299
if(strip>128) tdcstrip = 129;

reconstruction/dc/src/main/java/org/jlab/rec/dc/banks/HitReader.java

Lines changed: 38 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717
import org.jlab.detector.banks.RawDataBank;
1818
import org.jlab.detector.calib.utils.ConstantsManager;
1919
import org.jlab.detector.geant4.v2.DCGeant4Factory;
20+
import org.jlab.io.banks.DC__jitter;
21+
import org.jlab.io.banks.DC__tdc;
22+
import org.jlab.io.banks.HitBasedTrkg__HBHitTrkId;
23+
import org.jlab.io.banks.HitBasedTrkg__Hits;
2024
import org.jlab.rec.dc.Constants;
2125
import org.jlab.utils.groups.IndexedTable;
2226

@@ -128,9 +132,9 @@ private void getDCRBJitters(boolean swapBits) {
128132

129133
DataBank bankTS = event.getBank(bankNames.getTimeStampBank());
130134
for(int i=0; i<bankTS.rows(); i++) {
131-
int crate = bankTS.getByte("crate", i);
132-
int slot = bankTS.getByte("slot", i);
133-
long timestamp = bankTS.getLong("timestamp", i);
135+
int crate = bankTS.getByte(DC__jitter.crate, i);
136+
int slot = bankTS.getByte(DC__jitter.slot, i);
137+
long timestamp = bankTS.getLong(DC__jitter.timestamp, i);
134138
if(swapBits) {
135139
timestamp = (Long) (((timestamp&0x0000ffffff000000L)>>24)|((timestamp&0x0000000000ffffffL)<<24));
136140
}
@@ -186,13 +190,13 @@ public void fetch_DCHits(DataEvent event) {
186190

187191
this.set_NumTDCBankRows(bankFiltered.rows());
188192
for (int i = 0; i < bankFiltered.rows(); i++) {
189-
int sector = bankFiltered.getByte("sector", i);
190-
int layer = (bankFiltered.getByte("layer", i)-1)%6 + 1;
191-
int superlayer = (bankFiltered.getByte("layer", i)-1)/6 + 1;
192-
int wire = bankFiltered.getShort("component", i);
193+
int sector = bankFiltered.getByte(DC__tdc.sector, i);
194+
int layer = (bankFiltered.getByte(DC__tdc.layer, i)-1)%6 + 1;
195+
int superlayer = (bankFiltered.getByte(DC__tdc.layer, i)-1)/6 + 1;
196+
int wire = bankFiltered.getShort(DC__tdc.component, i);
193197
int order = bankFiltered.trueOrder(i);
194-
int jitter = this.getJitter(sector, bankFiltered.getByte("layer", i), wire, order);
195-
int tdc = bankFiltered.getInt("TDC", i) - jitter;
198+
int jitter = this.getJitter(sector, bankFiltered.getByte(DC__tdc.layer, i), wire, order);
199+
int tdc = bankFiltered.getInt(DC__tdc.TDC, i) - jitter;
196200
int index = bankFiltered.trueIndex(i);
197201

198202
boolean passHit = true;
@@ -246,15 +250,15 @@ private Map<Integer, ArrayList<FittedHit>> read_Hits() {
246250

247251
List<FittedHit> hits = new ArrayList<>();
248252
for (int i = 0; i < rows; i++) {
249-
int id = bank.getShort("id", i);
250-
int sector = bank.getByte("sector", i);
251-
int slayer = bank.getByte("superlayer", i);
252-
int layer = bank.getByte("layer", i);
253-
int wire = bank.getShort("wire", i);
254-
int tdc = bank.getInt("TDC", i);
255-
int jitter = bank.getByte("jitter", i);
256-
int LR = bank.getByte("LR", i);
257-
int clusterID = bank.getShort("clusterID", i);
253+
int id = bank.getShort(HitBasedTrkg__Hits.id, i);
254+
int sector = bank.getByte(HitBasedTrkg__Hits.sector, i);
255+
int slayer = bank.getByte(HitBasedTrkg__Hits.superlayer, i);
256+
int layer = bank.getByte(HitBasedTrkg__Hits.layer, i);
257+
int wire = bank.getShort(HitBasedTrkg__Hits.wire, i);
258+
int tdc = bank.getInt(HitBasedTrkg__Hits.TDC, i);
259+
int jitter = bank.getByte(HitBasedTrkg__Hits.jitter, i);
260+
int LR = bank.getByte(HitBasedTrkg__Hits.LR, i);
261+
int clusterID = bank.getShort(HitBasedTrkg__Hits.clusterID, i);
258262

259263
//use only hits that have been fit to a track
260264
if (clusterID == -1) {
@@ -331,10 +335,10 @@ private void read_HBHits(TimeToDistanceEstimator tde) {
331335

332336
DataBank pbank = event.getBank(pointName);
333337
for (int i = 0; i < pbank.rows(); i++) {
334-
id2tid.put((int)pbank.getShort("id", i), (int)pbank.getShort("tid", i));
335-
id2tidB.put((int)pbank.getShort("id", i), (double)pbank.getFloat("B", i));
336-
id2tidtFlight.put((int)pbank.getShort("id", i), (double)pbank.getFloat("TFlight", i));
337-
id2tidtProp.put((int)pbank.getShort("id", i), (double)pbank.getFloat("TProp", i));
338+
id2tid.put((int)pbank.getShort(HitBasedTrkg__HBHitTrkId.id, i), (int)pbank.getShort(HitBasedTrkg__HBHitTrkId.tid, i));
339+
id2tidB.put((int)pbank.getShort(HitBasedTrkg__HBHitTrkId.id, i), (double)pbank.getFloat(HitBasedTrkg__HBHitTrkId.B, i));
340+
id2tidtFlight.put((int)pbank.getShort(HitBasedTrkg__HBHitTrkId.id, i), (double)pbank.getFloat(HitBasedTrkg__HBHitTrkId.TFlight, i));
341+
id2tidtProp.put((int)pbank.getShort(HitBasedTrkg__HBHitTrkId.id, i), (double)pbank.getFloat(HitBasedTrkg__HBHitTrkId.TProp, i));
338342
}
339343

340344
DataBank bank = event.getBank(bankName);
@@ -357,19 +361,18 @@ private void read_HBHits(TimeToDistanceEstimator tde) {
357361
double[] trkDoca = new double[rows];
358362

359363
for (int i = 0; i < rows; i++) {
360-
id[i] = bank.getShort("id", i);
361-
status[i] = bank.getShort("status", i);
362-
sector[i] = bank.getByte("sector", i);
363-
slayer[i] = bank.getByte("superlayer", i);
364-
layer[i] = bank.getByte("layer", i);
365-
wire[i] = bank.getShort("wire", i);
366-
tdc[i] = bank.getInt("TDC", i);
367-
jitter[i] = bank.getByte("jitter", i);
368-
id[i] = bank.getShort("id", i);
369-
LR[i] = bank.getByte("LR", i);
370-
371-
trkDoca[i] = bank.getFloat("trkDoca", i);
372-
clusterID[i] = bank.getShort("clusterID", i);
364+
id[i] = bank.getShort(HitBasedTrkg__Hits.id, i);
365+
status[i] = bank.getShort(HitBasedTrkg__Hits.status, i);
366+
sector[i] = bank.getByte(HitBasedTrkg__Hits.sector, i);
367+
slayer[i] = bank.getByte(HitBasedTrkg__Hits.superlayer, i);
368+
layer[i] = bank.getByte(HitBasedTrkg__Hits.layer, i);
369+
wire[i] = bank.getShort(HitBasedTrkg__Hits.wire, i);
370+
tdc[i] = bank.getInt(HitBasedTrkg__Hits.TDC, i);
371+
jitter[i] = bank.getByte(HitBasedTrkg__Hits.jitter, i);
372+
id[i] = bank.getShort(HitBasedTrkg__Hits.id, i);
373+
LR[i] = bank.getByte(HitBasedTrkg__Hits.LR, i);
374+
trkDoca[i] = bank.getFloat(HitBasedTrkg__Hits.trkDoca, i);
375+
clusterID[i] = bank.getShort(HitBasedTrkg__Hits.clusterID, i);
373376
trkID[i] = -1;
374377
if(this.id2tid.containsKey(id[i]) ){
375378
trkID[i] = this.id2tid.get(id[i]);

0 commit comments

Comments
 (0)