Skip to content

Commit 5a31121

Browse files
committed
replace loop with int lookup
1 parent 5d78c35 commit 5a31121

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

common-tools/clas-detector/src/main/java/org/jlab/detector/decode/CodaEventDecoder.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.ArrayList;
55
import java.util.Arrays;
66
import java.util.List;
7+
import java.util.TreeMap;
78
import java.util.logging.Level;
89
import java.util.logging.Logger;
910
import org.jlab.coda.jevio.ByteDataTransformer;
@@ -40,6 +41,7 @@ public class CodaEventDecoder {
4041
private final List<Integer> triggerWords = new ArrayList<>();
4142
JsonObject epicsData = new JsonObject();
4243
List<EvioTreeBranch> branchList = null;
44+
TreeMap<Integer,EvioTreeBranch> branchMap = null;
4345

4446
private int tiMaster = -1;
4547

@@ -55,11 +57,11 @@ public CodaEventDecoder(){}
5557
*/
5658
void cacheBranches(EvioDataEvent event) {
5759
branchList = getEventBranches(event);
58-
//branchMap = new TreeMap<>();
59-
//for (EvioTreeBranch branch : branchList) {
60-
// if (!branchMap.containsKey(branch.getTag()))
61-
// branchMap.put(branch.getTag(), branch);
62-
//}
60+
branchMap = new TreeMap<>();
61+
for (EvioTreeBranch branch : branchList) {
62+
if (!branchMap.containsKey(branch.getTag()))
63+
branchMap.put(branch.getTag(), branch);
64+
}
6365
}
6466

6567
/**
@@ -340,10 +342,7 @@ public List<EvioTreeBranch> getEventBranches(EvioDataEvent event){
340342
* @return
341343
*/
342344
public EvioTreeBranch getEventBranch(List<EvioTreeBranch> branches, int tag){
343-
for(EvioTreeBranch branch : branches){
344-
if(branch.getTag()==tag) return branch;
345-
}
346-
return null;
345+
return branchMap.getOrDefault(tag, null);
347346
}
348347

349348
public void readHeaderBank(Integer crate, EvioNode node, EvioDataEvent event){

0 commit comments

Comments
 (0)