Skip to content

Commit 7843b2b

Browse files
committed
cleanup
1 parent d44fa2a commit 7843b2b

File tree

2 files changed

+101
-98
lines changed

2 files changed

+101
-98
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -758,6 +758,13 @@ public static List<DetectorDataDgtz> getDataEntries_57627(Integer crate, EvioNod
758758
return entries;
759759
}
760760

761+
/**
762+
* FADC250, Mode-1, bitpacked
763+
* @param crate
764+
* @param node
765+
* @param event
766+
* @return
767+
*/
761768
public static List<FADCData> getDataEntries_57638(Integer crate, EvioNode node, EvioDataEvent event){
762769
List<FADCData> entries = new ArrayList<>();
763770
if(node.getTag()==57638){

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

Lines changed: 94 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,42 @@ public class CodaEventDecoder {
4242

4343
public CodaEventDecoder(){}
4444

45+
public JsonObject getEpicsData(){
46+
return this.epicsData;
47+
}
48+
49+
public List<Integer> getTriggerWords(){
50+
return this.triggerWords;
51+
}
52+
53+
public int getRunNumber(){
54+
return this.runNumber;
55+
}
56+
57+
public int getEventNumber(){
58+
return this.eventNumber;
59+
}
60+
61+
public int getUnixTime(){
62+
return this.unixTime;
63+
}
64+
65+
public long getTimeStamp() {
66+
return this.timeStamp;
67+
}
68+
69+
public byte getHelicityLevel3() {
70+
return this.helicityLevel3;
71+
}
72+
73+
public long getTriggerBits() {
74+
return triggerBits;
75+
}
76+
77+
public void setTriggerBits(long triggerBits) {
78+
this.triggerBits = triggerBits;
79+
}
80+
4581
/**
4682
* Load map by crate(?).
4783
*
@@ -95,61 +131,13 @@ public List<DetectorDataDgtz> getDataEntries(EvioDataEvent event){
95131
return rawEntries;
96132
}
97133

98-
public void setTimeStamp(EvioDataEvent event) {
99-
100-
long ts = -1;
101-
102-
List<DetectorDataDgtz> tiEntries = this.getDataEntries_TI(event);
103-
104-
if(tiEntries.size()==1) {
105-
ts = tiEntries.get(0).getTimeStamp();
106-
}
107-
else if(tiEntries.size()>1) {
108-
// check sychronization
109-
boolean tiSync=true;
110-
int i0 = -1;
111-
// set reference timestamp from first entry which is not the tiMaster nor PCIE:
112-
for(int i=0; i<tiEntries.size(); i++) {
113-
if(tiEntries.get(i).getDescriptor().getCrate() != this.tiMaster) {
114-
if (!PCIE_ROCS.contains(tiEntries.get(i).getDescriptor().getCrate())) {
115-
i0 = i;
116-
break;
117-
}
118-
}
119-
}
120-
for(int i=0; i<tiEntries.size(); i++) {
121-
long deltaTS = 0;
122-
long offsetT = 0;
123-
// Allow/require 5-click offset for PCIE ROCs:
124-
if( PCIE_ROCS.contains(tiEntries.get(i).getDescriptor().getCrate() )) offsetT = 5;
125-
// Add 1-click tolerance for "TI master" (FIXME: this should be an offset too(?)):
126-
if(tiEntries.get(i).getDescriptor().getCrate()==this.tiMaster) deltaTS = deltaTS + 1;
127-
if(Math.abs(tiEntries.get(i).getTimeStamp()-offsetT-tiEntries.get(i0).getTimeStamp())>deltaTS) {
128-
tiSync=false;
129-
if(this.timeStampErrors<100) {
130-
System.err.println("WARNING: mismatch in TI time stamps: crate "
131-
+ tiEntries.get(i).getDescriptor().getCrate() + " reports "
132-
+ tiEntries.get(i).getTimeStamp() + " instead of the " + tiEntries.get(i0).getTimeStamp()
133-
+ " from crate " + tiEntries.get(i0).getDescriptor().getCrate());
134-
}
135-
else if(this.timeStampErrors==100) {
136-
System.err.println("WARNING: reached the maximum number of timeStamp errors (100), supressing future warnings.");
137-
}
138-
this.timeStampErrors++;
139-
}
140-
}
141-
if(tiSync) ts = tiEntries.get(i0).getTimeStamp();
142-
}
143-
this.timeStamp = ts ;
144-
}
145-
146134
/**
147135
* returns list of decoded data in the event for given crate.
148136
* @param event
149137
* @param crate
150138
* @return
151139
*/
152-
public List<DetectorDataDgtz> getDataEntries(EvioDataEvent event, int crate){
140+
private List<DetectorDataDgtz> getDataEntries(EvioDataEvent event, int crate){
153141
List<DetectorDataDgtz> bankEntries = new ArrayList<>();
154142
EvioTreeBranch cbranch = branchMap.getOrDefault(crate, null);
155143
if(cbranch == null ) return null;
@@ -201,7 +189,55 @@ public List<DetectorDataDgtz> getDataEntries(EvioDataEvent event, int crate){
201189
return bankEntries;
202190
}
203191

204-
public void readHeaderBank(Integer crate, EvioNode node, EvioDataEvent event){
192+
private void setTimeStamp(EvioDataEvent event) {
193+
194+
long ts = -1;
195+
196+
List<DetectorDataDgtz> tiEntries = this.getDataEntries_TI(event);
197+
198+
if(tiEntries.size()==1) {
199+
ts = tiEntries.get(0).getTimeStamp();
200+
}
201+
else if(tiEntries.size()>1) {
202+
// check sychronization
203+
boolean tiSync=true;
204+
int i0 = -1;
205+
// set reference timestamp from first entry which is not the tiMaster nor PCIE:
206+
for(int i=0; i<tiEntries.size(); i++) {
207+
if(tiEntries.get(i).getDescriptor().getCrate() != this.tiMaster) {
208+
if (!PCIE_ROCS.contains(tiEntries.get(i).getDescriptor().getCrate())) {
209+
i0 = i;
210+
break;
211+
}
212+
}
213+
}
214+
for(int i=0; i<tiEntries.size(); i++) {
215+
long deltaTS = 0;
216+
long offsetT = 0;
217+
// Allow/require 5-click offset for PCIE ROCs:
218+
if( PCIE_ROCS.contains(tiEntries.get(i).getDescriptor().getCrate() )) offsetT = 5;
219+
// Add 1-click tolerance for "TI master" (FIXME: this should be an offset too(?)):
220+
if(tiEntries.get(i).getDescriptor().getCrate()==this.tiMaster) deltaTS = deltaTS + 1;
221+
if(Math.abs(tiEntries.get(i).getTimeStamp()-offsetT-tiEntries.get(i0).getTimeStamp())>deltaTS) {
222+
tiSync=false;
223+
if(this.timeStampErrors<100) {
224+
System.err.println("WARNING: mismatch in TI time stamps: crate "
225+
+ tiEntries.get(i).getDescriptor().getCrate() + " reports "
226+
+ tiEntries.get(i).getTimeStamp() + " instead of the " + tiEntries.get(i0).getTimeStamp()
227+
+ " from crate " + tiEntries.get(i0).getDescriptor().getCrate());
228+
}
229+
else if(this.timeStampErrors==100) {
230+
System.err.println("WARNING: reached the maximum number of timeStamp errors (100), supressing future warnings.");
231+
}
232+
this.timeStampErrors++;
233+
}
234+
}
235+
if(tiSync) ts = tiEntries.get(i0).getTimeStamp();
236+
}
237+
this.timeStamp = ts ;
238+
}
239+
240+
private void readHeaderBank(Integer crate, EvioNode node, EvioDataEvent event){
205241

206242
if(node.getDataTypeObj()==DataType.INT32||node.getDataTypeObj()==DataType.UINT32){
207243
try {
@@ -230,7 +266,7 @@ else if ((intData[7]>>1 & 0x1) == 0) {
230266
}
231267
}
232268

233-
public void getDataEntries_EPICS(EvioDataEvent event){
269+
private void getDataEntries_EPICS(EvioDataEvent event){
234270
epicsData = new JsonObject();
235271
for(EvioTreeBranch branch : branchMap.values()){
236272
for(EvioNode node : branch.getNodes()){
@@ -335,7 +371,7 @@ public HelicityDecoderData getDataEntries_HelicityDecoder(EvioDataEvent event){
335371
return data;
336372
}
337373

338-
public List<DetectorDataDgtz> getDataEntries_Scalers(EvioDataEvent event){
374+
private List<DetectorDataDgtz> getDataEntries_Scalers(EvioDataEvent event){
339375

340376
List<DetectorDataDgtz> scalerEntries = new ArrayList<>();
341377
for(int crate : branchMap.keySet()) {
@@ -418,7 +454,7 @@ else if(node.getTag()==57621 && loop>=5) {
418454
* @param event
419455
* @return
420456
*/
421-
public List<DetectorDataDgtz> getDataEntries_TI(EvioDataEvent event){
457+
private List<DetectorDataDgtz> getDataEntries_TI(EvioDataEvent event){
422458

423459
List<DetectorDataDgtz> tiEntries = new ArrayList<>();
424460
for(int crate : branchMap.keySet()) {
@@ -456,7 +492,7 @@ else if(node.getDataLength()==7) { // New format Dec 1 2017 (run 1701)
456492
return tiEntries;
457493
}
458494

459-
public List<DetectorDataDgtz> getDataEntries_VTP(EvioDataEvent event){
495+
private List<DetectorDataDgtz> getDataEntries_VTP(EvioDataEvent event){
460496
List<DetectorDataDgtz> vtpEntries = new ArrayList<>();
461497
for(int crate : branchMap.keySet()) {
462498
for(EvioNode node : branchMap.get(crate).getNodes()){
@@ -480,7 +516,7 @@ public List<DetectorDataDgtz> getDataEntries_VTP(EvioDataEvent event){
480516
* @param event
481517
* @return
482518
*/
483-
public List<DetectorDataDgtz> getDataEntries_TDC(EvioDataEvent event){
519+
private List<DetectorDataDgtz> getDataEntries_TDC(EvioDataEvent event){
484520
List<DetectorDataDgtz> tdcEntries = new ArrayList<>();
485521
for(int crate : branchMap.keySet()) {
486522
for(EvioNode node : branchMap.get(crate).getNodes()){
@@ -505,14 +541,12 @@ public List<FADCData> getADCEntries(EvioDataEvent event){
505541
List<FADCData> entries = new ArrayList<>();
506542
for(EvioTreeBranch branch : branchMap.values()){
507543
List<FADCData> list = this.getADCEntries(event,branch.getTag());
508-
if(list != null){
509-
entries.addAll(list);
510-
}
544+
if (list != null) entries.addAll(list);
511545
}
512546
return entries;
513547
}
514548

515-
public List<FADCData> getADCEntries(EvioDataEvent event, int crate){
549+
private List<FADCData> getADCEntries(EvioDataEvent event, int crate){
516550
List<FADCData> entries = new ArrayList<>();
517551
EvioTreeBranch cbranch = branchMap.getOrDefault(crate, null);
518552
if(cbranch == null ) return null;
@@ -524,56 +558,18 @@ public List<FADCData> getADCEntries(EvioDataEvent event, int crate){
524558
return entries;
525559
}
526560

527-
public List<FADCData> getADCEntries(EvioDataEvent event, int crate, int tagid){
561+
private List<FADCData> getADCEntries(EvioDataEvent event, int crate, int tagid){
528562
List<FADCData> adc = new ArrayList<>();
529563
EvioTreeBranch cbranch = branchMap.getOrDefault(crate, null);
530564
if(cbranch == null ) return null;
531565
for(EvioNode node : cbranch.getNodes()){
532566
if(node.getTag()==tagid){
533-
// This is regular integrated pulse mode, used for FTOF
534-
// FTCAL and EC/PCAL
535567
return CodaDecoders.getADCEntries_Tag(crate, node, event,tagid);
536568
}
537569
}
538570
return adc;
539571
}
540572

541-
public JsonObject getEpicsData(){
542-
return this.epicsData;
543-
}
544-
545-
public List<Integer> getTriggerWords(){
546-
return this.triggerWords;
547-
}
548-
549-
public int getRunNumber(){
550-
return this.runNumber;
551-
}
552-
553-
public int getEventNumber(){
554-
return this.eventNumber;
555-
}
556-
557-
public int getUnixTime(){
558-
return this.unixTime;
559-
}
560-
561-
public long getTimeStamp() {
562-
return this.timeStamp;
563-
}
564-
565-
public byte getHelicityLevel3() {
566-
return this.helicityLevel3;
567-
}
568-
569-
public long getTriggerBits() {
570-
return triggerBits;
571-
}
572-
573-
public void setTriggerBits(long triggerBits) {
574-
this.triggerBits = triggerBits;
575-
}
576-
577573
public static void main(String[] args){
578574
EvioSource reader = new EvioSource();
579575
reader.open("/Users/devita/clas_004013.evio.1000");

0 commit comments

Comments
 (0)