diff --git a/ClassDigitizer2Gen.cpp b/ClassDigitizer2Gen.cpp index bec2955..d1dd432 100644 --- a/ClassDigitizer2Gen.cpp +++ b/ClassDigitizer2Gen.cpp @@ -765,7 +765,7 @@ void Digitizer2Gen::ReadAllSettings(){ } } -int Digitizer2Gen::SaveSettingsToFile(const char * saveFileName){ +int Digitizer2Gen::SaveSettingsToFile(const char * saveFileName, bool setReadOnly){ if( saveFileName != NULL) settingFileName = saveFileName; int totCount = 0; @@ -811,6 +811,11 @@ int Digitizer2Gen::SaveSettingsToFile(const char * saveFileName){ return -1; } + if( setReadOnly ){ + int result = chmod(saveFileName, S_IRUSR | S_IRGRP | S_IROTH); + if( result != 0 ) printf("somewrong when set file (%s) to read only.", saveFileName); + } + //printf("Saved setting files to %s\n", saveFileName); return 1; diff --git a/ClassDigitizer2Gen.h b/ClassDigitizer2Gen.h index 6754778..7fa1f41 100644 --- a/ClassDigitizer2Gen.h +++ b/ClassDigitizer2Gen.h @@ -130,7 +130,7 @@ class Digitizer2Gen { std::string GetSettingFileName() const {return settingFileName;} void SetSettingFileName(std::string fileName) {settingFileName = fileName;} void ReadAllSettings(); // read settings from digitier and save to memory - int SaveSettingsToFile(const char * saveFileName = NULL); //Save settings from memory to text file + int SaveSettingsToFile(const char * saveFileName = NULL, bool setReadOnly = false); //Save settings from memory to text file int ReadAndSaveSettingsToFile(const char * saveFileName = NULL); // ReadAllSettings + text file bool LoadSettingsFromFile(const char * loadFileName = NULL); // Load settings, write to digitizer and save to memory diff --git a/mainwindow.cpp b/mainwindow.cpp index 1c5ed73..a990dec 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -404,7 +404,8 @@ void MainWindow::StartACQ(){ QString fileSetting = rawDataFolder + "/" + expName + "_" + runIDStr + "XSetting_" + QString::number(digi[i]->GetSerialNumber()) + ".dat"; digi[i]->SaveSettingsToFile(fileSetting.toStdString().c_str()); - QString outFileName = rawDataFolder + "/" + expName + "_" + runIDStr + "_" + QString::number(digi[i]->GetSerialNumber()); + // name should be [ExpName]_[runID]_[digiID]_[digiSerialNumber]_[acculmulate_count].sol + QString outFileName = rawDataFolder + "/" + expName + "_" + runIDStr + "_" + QString::number(i).rightJustified(2, '0') + "_" + QString::number(digi[i]->GetSerialNumber()); qDebug() << outFileName; digi[i]->OpenOutFile(outFileName.toStdString());// overwrite }