TPCData::TPCData() :
fSectors(36), fSectorBlockSize(65536),
- fLoadThreshold(0), fLoadPedestal(0)
+ fLoadThreshold(0), fLoadPedestal(0), fAutoPedestal(kFALSE)
{
TPCSectorData::InitStatics();
}
if(pad != curPad) {
if(inFill)
- secData->EndPad();
+ secData->EndPad(fAutoPedestal, fLoadThreshold);
secData->BeginPad(row, pad, kFALSE);
curPad = pad;
inFill = kTRUE;
} while (digit.Next());
if(inFill) {
- secData->EndPad();
+ secData->EndPad(fAutoPedestal, fLoadThreshold);
inFill = kFALSE;
}
}
// via CreateSector() are loaded.
// If spawnSectors is true sectors are created if data for them is encountered.
- Int_t sector = -1, row = -1, pad = -1, rowOffset = 0;
- Bool_t inFill = kFALSE;
+ Int_t sector = -1, row = -1, pad = -1, rowOffset = 0;
+ Short_t time, signal;
+ Bool_t inFill = kFALSE;
TPCSectorData* secData = 0;
while (input.Next()) {
if (input.IsNewSector()) {
if(inFill) {
- secData->EndPad();
+ secData->EndPad(fAutoPedestal, fLoadThreshold);
inFill = kFALSE;
}
sector = input.GetSector();
if (input.IsNewPad()) {
if(inFill) {
- secData->EndPad();
+ secData->EndPad(fAutoPedestal, fLoadThreshold);
inFill = kFALSE;
}
row = input.GetRow() + rowOffset;
inFill = kTRUE;
}
- if(input.GetSignal() > fLoadThreshold)
- secData->RegisterData(input.GetTime(), input.GetSignal() - fLoadPedestal);
+ time = input.GetTime();
+ signal = input.GetSignal();
+ if(fAutoPedestal) {
+ secData->RegisterData(time, signal);
+ } else {
+ if(signal > fLoadThreshold)
+ secData->RegisterData(time, signal - fLoadPedestal);
+ }
}
if(inFill) {
- secData->EndPad();
+ secData->EndPad(fAutoPedestal, fLoadThreshold);
inFill = kFALSE;
}
}
static const Exc_t eH("TPCData::LoadRaw ");
- Int_t sector = -1, row = -1, pad = -1, rowOffset = 0;
- Bool_t inFill = kFALSE;
+ Int_t sector = -1, row = -1, pad = -1, rowOffset = 0;
+ Short_t time, signal;
+ Bool_t inFill = kFALSE;
TPCSectorData* secData = 0;
while (input.Next()) {
if (input.IsNewSector()) {
if(inFill) {
- secData->EndPad();
+ secData->EndPad(fAutoPedestal, fLoadThreshold);
inFill = kFALSE;
}
sector = input.GetSector();
if (input.IsNewPad()) {
if(inFill) {
- secData->EndPad();
+ secData->EndPad(fAutoPedestal, fLoadThreshold);
inFill = kFALSE;
}
row = input.GetRow() + rowOffset;
inFill = kTRUE;
}
- if(input.GetSignal() > fLoadThreshold)
- secData->RegisterData(input.GetTime(), input.GetSignal() - fLoadPedestal);
+ time = input.GetTime();
+ signal = input.GetSignal();
+ if(fAutoPedestal) {
+ secData->RegisterData(time, signal);
+ } else {
+ if(signal > fLoadThreshold)
+ secData->RegisterData(time, signal - fLoadPedestal);
+ }
}
if(inFill) {
- secData->EndPad();
+ secData->EndPad(fAutoPedestal, fLoadThreshold);
inFill = kFALSE;
}
}