View Javadoc

1   package org.catacomb.numeric.data;
2   
3   import org.catacomb.datalish.Box;
4   import org.catacomb.datalish.array.Array;
5   
6   
7   
8   public class EventSequence implements NumDataItem {
9   
10      String name;
11  
12      int nevent;
13      double[] times;
14      int[] channels;
15      int maxch;
16  
17      public EventSequence(String s) {
18          name = s;
19          times = new double[10];
20          channels = new int[10];
21          maxch = 0;
22      }
23  
24  
25      public String getUnit() {
26          return null;
27      }
28  
29      public String getName() {
30          return name;
31      }
32  
33      public String getLabel() {
34          return name;
35      }
36  
37      public void addEvent(double t, int ich) {
38          if (nevent >= times.length) {
39              int nn = nevent + nevent / 2 + 10;
40              times = Array.extendDArray(times, nevent, nn);
41              channels = Array.extendIArray(channels, nevent, nn);
42          }
43          times[nevent] = t;
44          channels[nevent] = ich;
45          nevent += 1;
46          if (ich > maxch) {
47              maxch = ich;
48          }
49      }
50  
51      public int getNEvent() {
52          return nevent;
53      }
54  
55      public int[] getChannels() {
56          return channels;
57      }
58  
59      public double[] getTimes() {
60          return times;
61      }
62  
63  
64      public Box getLimitBox() {
65          Box ret = null;
66  
67          if (nevent == 0) {
68              ret = new Box();
69          } else {
70              ret = new Box(times[0], 0, times[nevent-1], maxch + 1.);
71          }
72          return ret;
73      }
74  
75  }