32 int bankSize = bk_locate(pevent,
fBankName.c_str(),&raw);
35 vector<int> islandSamples;
38 bool allowLowSampls = 1;
39 int islandTimestamp = 0;
40 int lastTimestamp = -1;
55 int timestamp = ((raw[
i*10+0] & 0x7f) << 20) |
59 bool overflowB0 = ((raw[
i*10+3] & 0x08) != 0);
60 bool overflowA0 = ((raw[
i*10+3] & 0x04) != 0);
61 bool overflowB1 = ((raw[
i*10+3] & 0x02) != 0);
62 bool overflowA1 = ((raw[
i*10+3] & 0x01) != 0);
63 int sampleB0 = (overflowB0 << 12) |
66 int sampleA0 = (overflowA0 << 12) |
67 ((raw[
i*10+5] & 0xf) << 8) |
69 int sampleB1 = (overflowB1 << 12) |
72 int sampleA1 = (overflowA1 << 12) |
73 ((raw[
i*10+8] & 0xf) << 8) |
76 if(timestamp != lastTimestamp + 1) {
77 if(islandSamples.size() > 4) {
84 islandSamples.clear();
86 else if (islandSamples.size() <= 4) {
87 islandSamples.clear();
90 islandTimestamp = timestamp;
93 islandSamples.push_back(sampleA1);
94 islandSamples.push_back(sampleB1);
95 islandSamples.push_back(sampleA0);
96 islandSamples.push_back(sampleB0);
98 lastTimestamp = timestamp;
101 if ((
i==nSamples-1) && (islandSamples.size() > 4)){
108 for(
int k=0; k<10; k++){
112 printf(
"fadc=%x t=%2x %2x %2x %2x %2x\n",
i, timestamp,
113 sampleA1, sampleB1, sampleA0,sampleB0);
130 vector<TOctalFADCIsland*> fData_temp;
135 fData_temp.push_back(last);
136 int counter_temp = 0;
int counter = 0;
138 for(
unsigned int i = 1;
i<
fData.size();
i++)
143 fData_temp.push_back(last);
148 vector<int>&
samples = fData_temp.at(counter_temp)->GetSampleVector();
150 for(
int j=0;j<
fData.at(
i)->GetNSamples();j++)
152 samples.push_back(
fData.at(
i)->GetSampleVector().at(j));
155 last = fData_temp.at(counter_temp);