various fixes

This commit is contained in:
Ryan Tang 2022-11-04 16:25:33 -04:00
parent ecff324a27
commit 51ca791129
6 changed files with 107 additions and 95 deletions

View File

@ -8,7 +8,7 @@
#Slot Number for Each Module #Slot Number for Each Module
#This must start at 2 and proceed sequentially at the moment #This must start at 2 and proceed sequentially at the moment
# slot modID fpgaID # slot modID fpgaID
S 2 0 25 S 9 0 25
#S 3 1 25 #S 3 1 25
########################################################################################################## ##########################################################################################################

View File

@ -274,7 +274,7 @@ void Pixie16::CheckHardware(){
//check pci is OK //check pci is OK
ans = exec("lspci -vv| grep \"Unknown header type\" | wc -l"); ans = exec("lspci -vv| grep \"Unknown header type\" | wc -l");
if( atoi(ans.c_str()) > 0 ){ if( atoi(ans.c_str()) > 0 ){
printf("found PLX PCI 9054, but not working. Unknown header Type.\n"); printf("Found PLX PCI 9054, but not working. Unknown header Type.\n");
retval = -3; retval = -3;
return; return;
} }
@ -463,7 +463,7 @@ unsigned int Pixie16::ScanNumDataBlockInExtFIFO(){
return FIFONumDataBlock; return FIFONumDataBlock;
} }
int Pixie16::ProcessSingleData(){ int Pixie16::ProcessSingleData(short ch){
int breakProcessLoopFlag = 0; int breakProcessLoopFlag = 0;
@ -502,7 +502,7 @@ int Pixie16::ProcessSingleData(){
if( nextWord == nFIFOWords ) {nextWord = 0; breakProcessLoopFlag = 1;} if( nextWord == nFIFOWords ) {nextWord = 0; breakProcessLoopFlag = 1;}
if( nextWord > nFIFOWords ) {nextWord = nextWord - nFIFOWords; breakProcessLoopFlag = 2;} if( nextWord > nFIFOWords ) {nextWord = nextWord - nFIFOWords; breakProcessLoopFlag = 2;}
if( data->ch == ch ) breakProcessLoopFlag = 1;
} }
return breakProcessLoopFlag ; return breakProcessLoopFlag ;
@ -734,31 +734,39 @@ void Pixie16::SetCSRABit(int bitwise, unsigned short val, unsigned short modID,
retval = Pixie16ReadSglChanPar( (char *)"CHANNEL_CSRA", &ParData, modID, ch); retval = Pixie16ReadSglChanPar( (char *)"CHANNEL_CSRA", &ParData, modID, ch);
if( CheckError("Pixie16ReadSglChanPar::CHANNEL_CSRA") < 0 ) return; if( CheckError("Pixie16ReadSglChanPar::CHANNEL_CSRA") < 0 ) return;
std::cout << std::bitset<32>(ParData) << std::endl;
std::cout << std::bitset<32>(~bitwise) << std::endl;
int temp = ((int)ParData) & ~bitwise ; int temp = ((int)ParData) & ~bitwise ;
int haha = 0; int haha = 0;
if( bitwise == CSRA_BIT::FAST_TRIGGER ) haha = val << 0; if( bitwise == CSRA_BIT::FAST_TRIGGER ) haha = ((val & 0x1) << 0);
if( bitwise == CSRA_BIT::M_VALIDATION ) haha = val << 1; if( bitwise == CSRA_BIT::M_VALIDATION ) haha = ((val & 0x1) << 1);
if( bitwise == CSRA_BIT::ENABLE_CHANNEL ) haha = val << 2; if( bitwise == CSRA_BIT::ENABLE_CHANNEL ) haha = ((val & 0x1) << 2);
if( bitwise == CSRA_BIT::C_VALIFATION ) haha = val << 3; if( bitwise == CSRA_BIT::C_VALIFATION ) haha = ((val & 0x1) << 3);
if( bitwise == CSRA_BIT::BLOCK_DAQ_DPM_FULL ) haha = val << 4; if( bitwise == CSRA_BIT::BLOCK_DAQ_DPM_FULL ) haha = ((val & 0x1) << 4);
if( bitwise == CSRA_BIT::POLARITY ) haha = val << 5; if( bitwise == CSRA_BIT::POLARITY ) haha = ((val & 0x1) << 5);
if( bitwise == CSRA_BIT::VETO_TRIGGER ) haha = val << 6; if( bitwise == CSRA_BIT::VETO_TRIGGER ) haha = ((val & 0x1) << 6);
if( bitwise == CSRA_BIT::HIST_ENERGY ) haha = val << 7; if( bitwise == CSRA_BIT::HIST_ENERGY ) haha = ((val & 0x1) << 7);
if( bitwise == CSRA_BIT::ENABLE_TRACE ) haha = val << 8; if( bitwise == CSRA_BIT::ENABLE_TRACE ) haha = ((val & 0x1) << 8);
if( bitwise == CSRA_BIT::ENABLE_QDC ) haha = val << 9; if( bitwise == CSRA_BIT::ENABLE_QDC ) haha = ((val & 0x1) << 9);
if( bitwise == CSRA_BIT::ENABLE_CFD ) haha = val << 10; if( bitwise == CSRA_BIT::ENABLE_CFD ) haha = ((val & 0x1) << 10);
if( bitwise == CSRA_BIT::REQ_M_VALIDATION ) haha = val << 11; if( bitwise == CSRA_BIT::REQ_M_VALIDATION ) haha = ((val & 0x1) << 11);
if( bitwise == CSRA_BIT::CAPTURE_ESUMS_BASELINE ) haha = val << 12; if( bitwise == CSRA_BIT::CAPTURE_ESUMS_BASELINE ) haha = ((val & 0x1) << 12);
if( bitwise == CSRA_BIT::REQ_C_VALIDATION ) haha = val << 13; if( bitwise == CSRA_BIT::REQ_C_VALIDATION ) haha = ((val & 0x1) << 13);
if( bitwise == CSRA_BIT::INPUT_RELAY ) haha = val << 14; if( bitwise == CSRA_BIT::INPUT_RELAY ) haha = ((val & 0x1) << 14);
if( bitwise == CSRA_BIT::PILEUP ) haha = val << 15; if( bitwise == CSRA_BIT::PILEUP ) haha = ((val & 0x1) << 15);
if( bitwise == CSRA_BIT::NO_TRACE_LARGE_PULSE ) haha = val << 17; if( bitwise == CSRA_BIT::NO_TRACE_LARGE_PULSE ) haha = ((val & 0x1) << 17);
if( bitwise == CSRA_BIT::GROUP_TRIGGER ) haha = val << 18; if( bitwise == CSRA_BIT::GROUP_TRIGGER ) haha = ((val & 0x1) << 18);
if( bitwise == CSRA_BIT::CH_VETO ) haha = val << 19; if( bitwise == CSRA_BIT::CH_VETO ) haha = ((val & 0x1) << 19);
if( bitwise == CSRA_BIT::MO_VETO ) haha = val << 20; if( bitwise == CSRA_BIT::MO_VETO ) haha = ((val & 0x1) << 20);
if( bitwise == CSRA_BIT::EXT_TIMESTAMP ) haha = val << 21; if( bitwise == CSRA_BIT::EXT_TIMESTAMP ) haha = ((val & 0x1) << 21);
SetChannelSetting("CHANNEL_CSRA", (temp | haha), modID, ch); std::cout << std::bitset<32>(temp) << std::endl;
std::cout << std::bitset<32>(haha) << std::endl;
std::cout << std::bitset<32>(temp | haha) << std::endl;
SetChannelSetting("CHANNEL_CSRA", (temp | haha), modID, ch, true);
} }

View File

@ -125,6 +125,7 @@ public:
int GetADCTraceLength() {return 8192;} int GetADCTraceLength() {return 8192;}
unsigned short * GetADCTrace() {return ADCTrace;} unsigned short * GetADCTrace() {return ADCTrace;}
///========================= Setting ///========================= Setting
unsigned short * GetSlotMap() {return PXISlotMap;};
unsigned int GetNumModule() {return NumModules;} unsigned int GetNumModule() {return NumModules;}
unsigned int GetDigitizerSerialNumber(unsigned short modID) { return ModSerNum[modID];} unsigned int GetDigitizerSerialNumber(unsigned short modID) { return ModSerNum[modID];}
@ -210,7 +211,7 @@ public:
unsigned int GetNextWord() {return nextWord;} unsigned int GetNextWord() {return nextWord;}
DataBlock * GetData() {return data;} DataBlock * GetData() {return data;}
int ProcessSingleData(); int ProcessSingleData(short ch = -1);
unsigned int ScanNumDataBlockInExtFIFO(); /// also fill the FIFOEnergies, FIFOChannels, FIFOTimestamps, output FIFONumDataBlock unsigned int ScanNumDataBlockInExtFIFO(); /// also fill the FIFOEnergies, FIFOChannels, FIFOTimestamps, output FIFONumDataBlock
unsigned int GetAccumulatedFIFONumDataBlock() {return AccumulatedFIFONumDataBlock;} unsigned int GetAccumulatedFIFONumDataBlock() {return AccumulatedFIFONumDataBlock;}
unsigned int GetFIFONumDataBlock() {return FIFONumDataBlock;} unsigned int GetFIFONumDataBlock() {return FIFONumDataBlock;}

View File

@ -117,6 +117,7 @@ MainWindow::MainWindow(const TGWindow *p,UInt_t w,UInt_t h) {
modIDEntry->SetLimits(TGNumberFormat::kNELLimitMinMax, 0, pixie->GetNumModule()-1); modIDEntry->SetLimits(TGNumberFormat::kNELLimitMinMax, 0, pixie->GetNumModule()-1);
modIDEntry->Connect("Modified()", "MainWindow", this, "ChangeMod()"); modIDEntry->Connect("Modified()", "MainWindow", this, "ChangeMod()");
if( pixie->GetNumModule() == 1 ) modIDEntry->SetState(false); if( pixie->GetNumModule() == 1 ) modIDEntry->SetState(false);
hframe1->AddFrame(modIDEntry, uniLayoutHints); hframe1->AddFrame(modIDEntry, uniLayoutHints);
TGLabel * lb2 = new TGLabel(hframe1, "Ch :"); TGLabel * lb2 = new TGLabel(hframe1, "Ch :");
@ -154,11 +155,11 @@ MainWindow::MainWindow(const TGWindow *p,UInt_t w,UInt_t h) {
group2->AddFrame(hframe2); group2->AddFrame(hframe2);
TGLabel * lb1Prefix = new TGLabel(hframe2, "Save Prefix:"); TGLabel * lb1Prefix = new TGLabel(hframe2, "Save Prefix:");
hframe2->AddFrame(lb1Prefix, uniLayoutHints); hframe2->AddFrame(lb1Prefix, new TGLayoutHints(kLHintsNormal, 5,5,10,3));
tePath = new TGTextEntry(hframe2, new TGTextBuffer(30)); tePath = new TGTextEntry(hframe2, new TGTextBuffer(30));
tePath->SetWidth(50); tePath->SetWidth(50);
tePath->SetText("haha"); tePath->SetText("testRun");
hframe2->AddFrame(tePath, uniLayoutHints); hframe2->AddFrame(tePath, uniLayoutHints);
runIDEntry = new TGNumberEntry(hframe2, 0, 0, 0, TGNumberFormat::kNESInteger, TGNumberFormat::kNEANonNegative); runIDEntry = new TGNumberEntry(hframe2, 0, 0, 0, TGNumberFormat::kNESInteger, TGNumberFormat::kNEANonNegative);
@ -198,14 +199,14 @@ MainWindow::MainWindow(const TGWindow *p,UInt_t w,UInt_t h) {
///================= Log massage ///================= Log massage
TGGroupFrame * groupLog = new TGGroupFrame(fMain, "Log Message", kHorizontalFrame); TGGroupFrame * groupLog = new TGGroupFrame(fMain, "Log Message", kHorizontalFrame);
fMain->AddFrame(groupLog, new TGLayoutHints(kLHintsCenterX, 5,5,0,5) ); fMain->AddFrame(groupLog, new TGLayoutHints(kLHintsCenterX | kLHintsExpandX, 5,5,0,5) );
teLog = new TGTextEdit(groupLog, w, 100); teLog = new TGTextEdit(groupLog, w, 100);
groupLog->AddFrame(teLog, new TGLayoutHints(kLHintsNormal, 0,0,10,0)); groupLog->AddFrame(teLog, new TGLayoutHints(kLHintsNormal, 0,0,10,0));
/// Set a name to the main frame /// Set a name to the main frame
fMain->SetWindowName("Pixie16 DAQ"); fMain->SetWindowName("Pixie16 DAQ (beta)");
/// Map all subwindows of main frame /// Map all subwindows of main frame
fMain->MapSubwindows(); fMain->MapSubwindows();
@ -401,14 +402,15 @@ void MainWindow::GetBaseLine(){
void MainWindow::Scope(){ void MainWindow::Scope(){
int modID = modIDEntry->GetNumber(); int modID = modIDEntry->GetNumber();
unsigned short slotID = (pixie->GetSlotMap())[modID];
int ch = chEntry->GetNumber(); int ch = chEntry->GetNumber();
if( pixie->GetChannelOnOff(modID, ch) == false ){ if( pixie->GetChannelOnOff(modID, ch) == false || pixie->GetChannelTraceOnOff(modID, ch) == false ){
LogMsg(Form("mod:%d, ch-%d is disabled\n", modID, ch)); LogMsg(Form("mod:%d, ch-%d is disabled\n", modID, ch));
return; return;
} }
LogMsg(Form("Get trace for mod:%d, ch-%02d", modID, ch)); LogMsg(Form("Get trace for mod:%d (slot:%d), ch-%02d", modID, slotID, ch));
double dt = pixie->GetCh2ns(modID); double dt = pixie->GetCh2ns(modID);
@ -422,6 +424,7 @@ void MainWindow::Scope(){
usleep(runDuration*1000); usleep(runDuration*1000);
pixie->ReadData(0); pixie->ReadData(0);
pixie->StopRun(); pixie->StopRun();
pixie->PrintStatistics(modID);
delete gTrace; delete gTrace;
gTrace = new TGraph(); gTrace = new TGraph();
@ -429,15 +432,15 @@ void MainWindow::Scope(){
///printf(" next word : %u\n", pixie->GetNextWord()); ///printf(" next word : %u\n", pixie->GetNextWord());
///printf("number of word received : %u\n", pixie->GetnFIFOWords()); ///printf("number of word received : %u\n", pixie->GetnFIFOWords());
while( pixie->ProcessSingleData() <= 1 ){ /// full set of dataBlack while( pixie->ProcessSingleData() < 1 ){ /// full set of dataBlack
if( pixie->GetNextWord() >= pixie->GetnFIFOWords() ) break; if( pixie->GetNextWord() >= pixie->GetnFIFOWords() ) break;
if( data->slot < 2 ) break; if( data->slot < 2 ) break;
if( data->eventID >= pixie->GetnFIFOWords() ) break; if( data->eventID >= pixie->GetnFIFOWords() ) break;
///printf("mod:%d, ch:%d, event:%llu, %u, %u\n", data->slot-2, data->ch, data->eventID, pixie->GetNextWord(), pixie->GetnFIFOWords() ); //printf("mod:%d, ch:%d, event:%llu, %u, %u\n", data->slot-2,data->ch, data->eventID, pixie->GetNextWord(), pixie->GetnFIFOWords() );
if( data->ch == ch && data->slot == modID + 2 ){ if( data->ch == ch && data->slot == slotID ){
for( int i = 0 ; i < data->trace_length; i++){ for( int i = 0 ; i < data->trace_length; i++){
gTrace->SetPoint(i, i*dt, (data->trace)[i]); gTrace->SetPoint(i, i*dt, (data->trace)[i]);
@ -567,7 +570,7 @@ void MainWindow::StartRun(){
pixie->StartRun(1); pixie->StartRun(1);
if( pixie->IsRunning() ) saveDataThread->Run(); /// call SaveData() if( pixie->IsRunning() ) saveDataThread->Run(); /// call SaveData()
if( pixie->IsRunning() ) fillHistThread->Run(); /// call SaveData() //if( pixie->IsRunning() ) fillHistThread->Run(); /// call SaveData()
bStartRun->SetEnabled(false); bStartRun->SetEnabled(false);
bStopRun->SetEnabled(true); bStopRun->SetEnabled(true);
@ -663,7 +666,7 @@ void * MainWindow::SaveData(void* ptr){
if( pixie->GetnFIFOWords() > 0 ) { if( pixie->GetnFIFOWords() > 0 ) {
pixie->SaveData(); pixie->SaveData();
///ScanNumDataBlockInExtFIFO() should be here after ReadData(). becasue not a whlole dataBlock is in FIFO. ///ScanNumDataBlockInExtFIFO() should be here after ReadData(). becasue not a whlole dataBlock is in FIFO.
pixie->ScanNumDataBlockInExtFIFO(); //TODO need to check the time comsumtion //pixie->ScanNumDataBlockInExtFIFO(); //TODO need to check the time comsumtion
pixie->SetFIFOisUsed(false); pixie->SetFIFOisUsed(false);
localClock.Stop("timer"); localClock.Stop("timer");

View File

@ -66,13 +66,13 @@ SettingsSummary::SettingsSummary(const TGWindow *p, UInt_t w, UInt_t h, Pixie16
///---------- label row ///---------- label row
TGHorizontalFrame * hframeLabel = new TGHorizontalFrame(hframeSettings, w, 50); TGHorizontalFrame * hframeLabel = new TGHorizontalFrame(hframeSettings, w, 50);
hframeSettings->AddFrame(hframeLabel, new TGLayoutHints(kLHintsExpandX, 2,2,2,2)); hframeSettings->AddFrame(hframeLabel, new TGLayoutHints(kLHintsExpandX, 2,2,0,0));
TGLabel * labelItems[numItems]; TGLabel * labelItems[numItems];
for(int i = 0; i < numItems; i++){ for(int i = 0; i < numItems; i++){
labelItems[i] = new TGLabel(hframeLabel, Form("%s", labelText[i].Data())); labelItems[i] = new TGLabel(hframeLabel, Form("%s", labelText[i].Data()));
labelItems[i]->Resize(width[i], 20); labelItems[i]->Resize(width[i], 20);
labelItems[i]->SetMargins(0, (i == 0 ? 0 : 10) , 0, 0); labelItems[i]->SetMargins(0, (i == 0 ? 0 : 10) , 0, 0);
hframeLabel->AddFrame(labelItems[i], new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 5, 5, 3, 4)); hframeLabel->AddFrame(labelItems[i], new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 5, 5, 2, 2));
} }
@ -81,13 +81,13 @@ SettingsSummary::SettingsSummary(const TGWindow *p, UInt_t w, UInt_t h, Pixie16
//printf("-----------------------%d\n", i); //printf("-----------------------%d\n", i);
hframeCh[i] = new TGHorizontalFrame(hframeSettings, w, 600 ); hframeCh[i] = new TGHorizontalFrame(hframeSettings, w, 600 );
hframeSettings->AddFrame(hframeCh[i], new TGLayoutHints(kLHintsCenterX, 2,2,2,2)); hframeSettings->AddFrame(hframeCh[i], new TGLayoutHints(kLHintsCenterX, 2,2,0,0));
int col = 0; int col = 0;
lbCh[i] = new TGLabel(hframeCh[i] , Form("%02d", i)); lbCh[i] = new TGLabel(hframeCh[i] , Form("%02d", i));
lbCh[i]->SetWidth(width[col]); lbCh[i]->SetWidth(width[col]);
lbCh[i]->SetTextColor(red); lbCh[i]->SetTextColor(red);
hframeCh[i]->AddFrame(lbCh[i], new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 5, 5, 3, 4)); hframeCh[i]->AddFrame(lbCh[i], new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 5, 5, 2, 2));
col++; col++;
cbOnOff[i] = new TGComboBox(hframeCh[i], i); cbOnOff[i] = new TGComboBox(hframeCh[i], i);
@ -102,7 +102,7 @@ SettingsSummary::SettingsSummary(const TGWindow *p, UInt_t w, UInt_t h, Pixie16
lbCh[i]->SetTextColor(black); lbCh[i]->SetTextColor(black);
} }
cbOnOff[i]->Connect("Selected(Int_t, Int_t)", "SettingsSummary", this, Form("ChangeOnOff(=%d)", i)); cbOnOff[i]->Connect("Selected(Int_t, Int_t)", "SettingsSummary", this, Form("ChangeOnOff(=%d)", i));
hframeCh[i]->AddFrame(cbOnOff[i], new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 5, 5, 3, 4)); hframeCh[i]->AddFrame(cbOnOff[i], new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 5, 5, 2, 2));
col++; col++;
cbGain[i] = new TGComboBox(hframeCh[i], i); cbGain[i] = new TGComboBox(hframeCh[i], i);
@ -111,7 +111,7 @@ SettingsSummary::SettingsSummary(const TGWindow *p, UInt_t w, UInt_t h, Pixie16
cbGain[i]->Resize(width[col], 20); cbGain[i]->Resize(width[col], 20);
pixie->GetChannelGain(modID, i) ? cbGain[i]->Select(1) : cbGain[i]->Select(0); pixie->GetChannelGain(modID, i) ? cbGain[i]->Select(1) : cbGain[i]->Select(0);
cbGain[i]->Connect("Selected(Int_t, Int_t)", "SettingsSummary", this, Form("ChangeGain(=%d)", i)); cbGain[i]->Connect("Selected(Int_t, Int_t)", "SettingsSummary", this, Form("ChangeGain(=%d)", i));
hframeCh[i]->AddFrame(cbGain[i], new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 5, 5, 3, 4)); hframeCh[i]->AddFrame(cbGain[i], new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 5, 5, 2, 2));
col++; col++;
neTrigL[i] = new TGNumberEntry(hframeCh[i], pixie->GetChannelTriggerRiseTime(modID, i), 0, 0, TGNumberFormat::kNESRealTwo, TGNumberFormat::kNEANonNegative); neTrigL[i] = new TGNumberEntry(hframeCh[i], pixie->GetChannelTriggerRiseTime(modID, i), 0, 0, TGNumberFormat::kNESRealTwo, TGNumberFormat::kNEANonNegative);
@ -141,7 +141,7 @@ SettingsSummary::SettingsSummary(const TGWindow *p, UInt_t w, UInt_t h, Pixie16
cbPol[i]->Resize(width[col], 20); cbPol[i]->Resize(width[col], 20);
pixie->GetChannelPolarity(modID, i) ? cbPol[i]->Select(1) : cbPol[i]->Select(0); pixie->GetChannelPolarity(modID, i) ? cbPol[i]->Select(1) : cbPol[i]->Select(0);
cbPol[i]->Connect("Selected(Int_t, Int_t)", "SettingsSummary", this, Form("ChangePol(=%d)", i)); cbPol[i]->Connect("Selected(Int_t, Int_t)", "SettingsSummary", this, Form("ChangePol(=%d)", i));
hframeCh[i]->AddFrame(cbPol[i], new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 5, 5, 3, 4)); hframeCh[i]->AddFrame(cbPol[i], new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 5, 5, 2, 2));
col++; col++;
neEngL[i] = new TGNumberEntry(hframeCh[i], pixie->GetChannelEnergyRiseTime(modID, i), 0, 0, TGNumberFormat::kNESRealOne, TGNumberFormat::kNEANonNegative); neEngL[i] = new TGNumberEntry(hframeCh[i], pixie->GetChannelEnergyRiseTime(modID, i), 0, 0, TGNumberFormat::kNESRealOne, TGNumberFormat::kNEANonNegative);
@ -171,7 +171,7 @@ SettingsSummary::SettingsSummary(const TGWindow *p, UInt_t w, UInt_t h, Pixie16
cbTraceOnOff[i]->Resize(width[col], 20); cbTraceOnOff[i]->Resize(width[col], 20);
pixie->GetChannelTraceOnOff(modID, i) ? cbTraceOnOff[i]->Select(1) : cbTraceOnOff[i]->Select(0); pixie->GetChannelTraceOnOff(modID, i) ? cbTraceOnOff[i]->Select(1) : cbTraceOnOff[i]->Select(0);
cbTraceOnOff[i]->Connect("Selected(Int_t, Int_t)", "SettingsSummary", this, Form("ChangeTraceOnOff(=%d)", i)); cbTraceOnOff[i]->Connect("Selected(Int_t, Int_t)", "SettingsSummary", this, Form("ChangeTraceOnOff(=%d)", i));
hframeCh[i]->AddFrame(cbTraceOnOff[i], new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 5, 5, 3, 4)); hframeCh[i]->AddFrame(cbTraceOnOff[i], new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 5, 5, 2, 2));
col++; col++;
neTraceLength[i] = new TGNumberEntry(hframeCh[i], pixie->GetChannelTraceLength(modID, i), 0, 0, TGNumberFormat::kNESRealTwo, TGNumberFormat::kNEANonNegative); neTraceLength[i] = new TGNumberEntry(hframeCh[i], pixie->GetChannelTraceLength(modID, i), 0, 0, TGNumberFormat::kNESRealTwo, TGNumberFormat::kNEANonNegative);
@ -269,7 +269,7 @@ void SettingsSummary::ChangePol(unsigned short ch){
void SettingsSummary::ChangeTraceOnOff(unsigned short ch){ void SettingsSummary::ChangeTraceOnOff(unsigned short ch){
short modID = modIDEntry->GetNumber(); short modID = modIDEntry->GetNumber();
int val = cbPol[ch]->GetSelected(); int val = cbTraceOnOff[ch]->GetSelected();
pixie->SetChannelTraceOnOff(val, modID, ch); pixie->SetChannelTraceOnOff(val, modID, ch);
teFileName->SetText(settingFileName + " (not saved)"); teFileName->SetText(settingFileName + " (not saved)");
} }

View File

@ -3,25 +3,25 @@
"channel": { "channel": {
"input": { "input": {
"BLcut": [ "BLcut": [
1, 90,
1, 1,
1, 1,
31, 31,
31, 5,
1, 69,
8, 8,
32, 32,
106, 6,
1, 2,
0, 0,
1, 1,
1, 107,
1, 1,
1, 1,
2 2
], ],
"BaselinePercent": [ "BaselinePercent": [
7, 10,
10, 10,
2, 2,
10, 10,
@ -93,16 +93,16 @@
120 120
], ],
"ChanCSRa": [ "ChanCSRa": [
2208, 18592,
16544, 16544,
16544, 16544,
16544, 16544,
16548,
16548,
16544, 16544,
16800,
16804,
16544,
420,
16544, 16544,
16548,
16548,
16544, 16544,
16544, 16544,
16544, 16544,
@ -219,7 +219,7 @@
20 20
], ],
"FastGap": [ "FastGap": [
14, 10,
10, 10,
10, 10,
10, 10,
@ -237,7 +237,7 @@
10 10
], ],
"FastLength": [ "FastLength": [
14, 10,
10, 10,
10, 10,
10, 10,
@ -255,19 +255,19 @@
10 10
], ],
"FastThresh": [ "FastThresh": [
65535, 2000,
65535,
65535,
65535, 65535,
65535, 65535,
65535, 65535,
4000, 4000,
4000,
4000,
65535, 65535,
4000, 4000,
4000,
65535, 65535,
65535, 65535,
65535, 4000,
65535,
65535, 65535,
65535, 65535,
65535 65535
@ -417,34 +417,34 @@
2 2
], ],
"OffsetDAC": [ "OffsetDAC": [
32986,
32768,
32768,
32768,
34952,
32768,
21845,
32768,
21845, 21845,
32768, 32768,
32768, 32768,
32768, 32768,
21845,
21845,
21845,
32768, 32768,
21845,
21845,
32768,
32768,
21845,
32768, 32768,
32768, 32768,
32768 32768
], ],
"PAFlength": [ "PAFlength": [
1096, 1018,
1768,
1768, 1768,
1768, 1768,
1768, 1768,
1268,
1018, 1018,
666, 666,
1768, 1768,
1018, 1018,
1768, 1018,
1792, 1792,
1768, 1768,
1768, 1768,
@ -489,7 +489,7 @@
0 0
], ],
"PeakSample": [ "PeakSample": [
106, 95,
95, 95,
95, 95,
95, 95,
@ -507,7 +507,7 @@
95 95
], ],
"PeakSep": [ "PeakSep": [
108, 97,
97, 97,
97, 97,
97, 97,
@ -525,19 +525,19 @@
97 97
], ],
"PreampTau": [ "PreampTau": [
1112014848,
1100456650, 1100456650,
1100456650, 1100456650,
1100456650, 1100456650,
1100456650, 1112014848,
1100456650, 1112014848,
1100456650,
1112012226, 1112012226,
1100456650, 1100456650,
1100456650, 1112014848,
1100456650, 1112014848,
1100428083, 1100428083,
1100456650, 1100456650,
1100456650, 1112014848,
1100456650, 1100456650,
1100456650, 1100456650,
1100456650 1100456650
@ -705,7 +705,7 @@
0 0
], ],
"SlowGap": [ "SlowGap": [
25, 19,
19, 19,
19, 19,
19, 19,
@ -723,7 +723,7 @@
19 19
], ],
"SlowLength": [ "SlowLength": [
83, 78,
78, 78,
78, 78,
78, 78,
@ -759,7 +759,7 @@
0 0
], ],
"TraceLength": [ "TraceLength": [
2484, 5000,
5000, 5000,
5000, 5000,
5000, 5000,
@ -795,7 +795,7 @@
0 0
], ],
"TriggerDelay": [ "TriggerDelay": [
856, 768,
768, 768,
768, 768,
768, 768,
@ -993,7 +993,7 @@
"num-channels": 16, "num-channels": 16,
"number": 0, "number": 0,
"serial-num": 1314, "serial-num": 1314,
"slot": 2, "slot": 9,
"sys": { "sys": {
"adc_bits": 16, "adc_bits": 16,
"adc_msps": 250, "adc_msps": 250,
@ -1016,7 +1016,7 @@
"ChanNum": 0, "ChanNum": 0,
"CoincPattern": 0, "CoincPattern": 0,
"CoincWait": 0, "CoincWait": 0,
"ControlTask": 23, "ControlTask": 0,
"CrateID": 0, "CrateID": 0,
"FIFOLength": 8188, "FIFOLength": 8188,
"FastFilterRange": 0, "FastFilterRange": 0,
@ -1040,7 +1040,7 @@
0 0
], ],
"HostRunTimePreset": 1092616192, "HostRunTimePreset": 1092616192,
"InSynch": 0, "InSynch": 1,
"MaxEvents": 0, "MaxEvents": 0,
"ModCSRA": 0, "ModCSRA": 0,
"ModCSRB": 1, "ModCSRB": 1,
@ -1049,7 +1049,7 @@
"ModNum": 0, "ModNum": 0,
"Resume": 1, "Resume": 1,
"RunTask": 0, "RunTask": 0,
"SlotID": 2, "SlotID": 9,
"SlowFilterRange": 3, "SlowFilterRange": 3,
"SynchWait": 1, "SynchWait": 1,
"TrigConfig": [ "TrigConfig": [