-
Notifications
You must be signed in to change notification settings - Fork 1
Description
There may be an issue with the compilation of angcor outputs.
When running the TestCalculation.sh script in the AngCorPackage directory, it appears that the error may be occuring specifically at the execution of the make_final.sh script, which corresponds to the following commands:
for dir in *.lis; do awk -f sort.awk $dir | tail -n 181 ; done > final.dat
rm *.lis
The resultant angcor output (finalDipole.dat) output does not appears to have the correct format required for the ReadAngCorTable(char *InputFileName) function in AverageAngCorResults.cpp
The file finalDipole.dat does not appear to be in the correct format, i.e.
CHECKPOINT 3 is never printed in the modified code for ReadAngCorTable(char *InputFileName).
std::cout << "CHECKPOINT 1" << std::endl;
if(inputFile.is_open())
{
std::cout << "CHECKPOINT 2" << std::endl;
std::cout << "InputFileName: " << InputFileName << std::endl;
double dummy0 = 0, dummy1 = 0, dummy2 = 0, dummy3 = 0;
while(inputFile >> dummy0 >> dummy1 >> dummy2 >> dummy3)
{
std::cout << "CHECKPOINT 3" << std::endl;
...
}
}
A comparison with what the correct finalDipole.dat may be would be helpful in debugging this issue.
The usage of gawk instead of awk does not appear to solve the issue.
Side question: for the array
double*** result = new double**[NumberThetaAlphaPoints];
result[i] = new double*[NumberThetaDecayPoints+1];
result[i][j] = new double[NumberPhiDecayPoints+1];
if(VerboseFlag)std::cout << dummy0 << "\t" << dummy1 << "\t" << dummy2 << "\t" << dummy3 << std::endl;
result[(int)((dummy0-ThetaAlphaStartAngle)/DeltaThetaAlpha)][(int)dummy1][(int)dummy2] = dummy3;
For the purposes of K600 data, the Angcor results relevant for the K600 data do not typically have azimuthal dependence (at least for particle-particle correlations). Why is the phi angle intended to be read in? Perhaps I'm misunderstanding the name "phi"?