Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementing generic analysis methods inside detectorlib #75

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Reverting Sort function since it is buggy in new implementation
  • Loading branch information
juanangp committed Mar 31, 2023
commit 9c910cf2aa3c3d8dbaa0d529527c5b7de4d1cf0b
16 changes: 9 additions & 7 deletions src/TRestDetectorSignal.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -271,14 +271,16 @@ Int_t TRestDetectorSignal::GetTimeIndex(Double_t t) {
Bool_t TRestDetectorSignal::isSorted() { return is_sorted(fSignalTime.begin(), fSignalTime.end()); }

void TRestDetectorSignal::Sort() {
if (fSignalCharge.size() != fSignalTime.size()) {
cout << "Time and charge vectors have different size " << fSignalCharge.size() << " "
<< fSignalTime.size() << endl;
exit(0);
while (!isSorted()) {
for (int i = 0; i < GetNumberOfPoints(); i++) {
for (int j = i; j < GetNumberOfPoints(); j++) {
if (GetTime(i) > GetTime(j)) {
iter_swap(fSignalTime.begin() + i, fSignalTime.begin() + j);
iter_swap(fSignalCharge.begin() + i, fSignalCharge.begin() + j);
}
}
}
}
sort(fSignalCharge.begin(), fSignalCharge.end(),
[&](size_t i, size_t j) { return fSignalTime[i] > fSignalTime[j]; });
sort(fSignalTime.begin(), fSignalTime.end());
}

void TRestDetectorSignal::GetDifferentialSignal(TRestDetectorSignal* diffSgnl, Int_t smearPoints) {
Expand Down