From a3531e66636d714c4fdfcb0d3bf5488109573520 Mon Sep 17 00:00:00 2001 From: YiHui Liu Date: Tue, 5 Jul 2022 16:55:06 +0800 Subject: [PATCH] change: .gitignore;add: csvReader, CHANNEL_NUMBER --- .gitignore | 6 ++-- Q3D.exe | Bin 112640 -> 0 bytes include/csvReader.h | 74 ++++++++++++++++++++++++++++++++++++++++++++ include/getADC.h | 4 ++- main.cpp | 31 ++++++++++--------- 5 files changed, 98 insertions(+), 17 deletions(-) delete mode 100644 Q3D.exe create mode 100644 include/csvReader.h diff --git a/.gitignore b/.gitignore index eaac86d..e3021eb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,16 @@ # data file *.root *.log +*.csv +*.json +2016Q3D/ # build cache build/ -2016Q3D/ # config .vscode .vs -*.json *.code-workspace +*.exe diff --git a/Q3D.exe b/Q3D.exe deleted file mode 100644 index 29f843bc6e0a27843cc8d981083af29ed2a794e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112640 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 diff --git a/include/csvReader.h b/include/csvReader.h new file mode 100644 index 0000000..1a5f5cb --- /dev/null +++ b/include/csvReader.h @@ -0,0 +1,74 @@ +#pragma once + +#ifndef csv_reader_h +#define csv_reader_h + +#include +#include +#include +#include +#include + +using std::string; +using std::vector; + +class csvReader { +public: + csvReader(string); + ~csvReader(); + +public: + string file; + vector> strArray; + +public: + int rows(); + void readData(); + string& operator()(int i, int j) const; +}; + +csvReader::csvReader(string file_) { file = file_; } + +csvReader::~csvReader() {} + +int csvReader::rows() { return strArray.size(); } + +void csvReader::readData() { + std::ifstream inFile(file); + string lineStr; + while (std::getline(inFile, lineStr)) { + std::stringstream ss(lineStr); + string str; + vector lineArray; + while (std::getline(ss, str, ',')) lineArray.push_back(str); + strArray.push_back(lineArray); + } +} + +string& csvReader::operator()(int i, int j) const { + vector lineArray; + int n = strArray.size(), m; + + if (i < 0 || i > n - 1) std::cout << "Row Index Out Of Bounds " << std::endl; + lineArray = strArray.at(i); + m = lineArray.size(); + if (j < 0 || j > m - 1) std::cout << "Column Index Out Of Bounds " << std::endl; + + return lineArray.at(j); +} + +std::ostream& operator<<(std::ostream& cout, csvReader& cR) { + vector lineArray; + int n = cR.strArray.size(), m; + + for (int i = 0; i < n; i++) { + lineArray = cR.strArray.at(i); + m = lineArray.size(); + for (int j = 0; j < m; j++) cout << lineArray.at(j) << " "; + if (i < n - 1) cout << std::endl; + } + + return cout; +} + +#endif diff --git a/include/getADC.h b/include/getADC.h index 2633e83..620daee 100644 --- a/include/getADC.h +++ b/include/getADC.h @@ -3,11 +3,13 @@ #include +#define CHANNEL_NUMBER 4096 + double getADC(TH1F *hist) { int n, cnt = 0; double *parma = new double[3]; GaussFit *GF = new GaussFit(); - for (int k = 0; k < 300; k++) { + for (int k = 0; k < CHANNEL_NUMBER; k++) { n = hist->GetBinContent(k); if (n == 0) continue; GF->addData(k, n); diff --git a/main.cpp b/main.cpp index 81210e2..9dc9730 100644 --- a/main.cpp +++ b/main.cpp @@ -1,4 +1,5 @@ -#include "getADC.h" +#include "csvReader.h" +// #include "getADC.h" #include #include #include @@ -122,21 +123,23 @@ void readData(const char *fin, TH1F Left[5][8], TH1F Right[5][8]) { } int main() { - TH1F Left[5][8]; - TH1F Right[5][8]; + // TH1F Left[5][8]; + // TH1F Right[5][8]; - string L, R; - for (int i = 0; i < 5; i++) - for (int j = 0; j < 8; j++) { - L = "Left" + to_string(i) + to_string(j); - R = "Right" + to_string(i) + to_string(j); - Left[i][j] = TH1F(L.c_str(), L.c_str(), 300, 0, 300); - Right[i][j] = TH1F(R.c_str(), R.c_str(), 300, 0, 300); - } + // string L, R; + // for (int i = 0; i < 5; i++) + // for (int j = 0; j < 8; j++) { + // L = "Left" + to_string(i) + to_string(j); + // R = "Right" + to_string(i) + to_string(j); + // Left[i][j] = TH1F(L.c_str(), L.c_str(), CHANNEL_NUMBER, 0, CHANNEL_NUMBER); + // Right[i][j] = TH1F(R.c_str(), R.c_str(), CHANNEL_NUMBER, 0, CHANNEL_NUMBER); + // } - readData("F:/NuclearAstroPhy/Q3D-Calibration/2016Q3D/root/raw/201609Q3D1002.root", Left, Right); - double x = getADC(&Left[0][0]); - cout << x << endl; + // readData("F:/NuclearAstroPhy/Q3D-Calibration/2016Q3D/root/raw/201609Q3D1002.root", Left, + // Right); double x = getADC(&Left[0][0]); cout << x << endl; + + csvReader cR("config.csv"); + cR.readData(); return 0; }