#include "HCA_TensorContraction/HCA_TensorContractor.h" int main() { int locJ1, locJ2, locS12, locL12, locJ12; bool locPsi1IsPhotonFlag, locPsi2IsPhotonFlag; /* //1- -> 1-, 0+ locJ1 = 1; locJ2 = 0; locS12 = 1; locL12 = 1; locJ12 = 1; locPsi1IsPhotonFlag = false; locPsi2IsPhotonFlag = false; */ /* //2- -> 1-, 0- locJ1 = 1; locJ2 = 0; locS12 = 1; locL12 = 3; //1 or 3 locJ12 = 2; locPsi1IsPhotonFlag = false; locPsi2IsPhotonFlag = false; */ /* //1+ -> 2+, 0- locJ1 = 2; locJ2 = 0; locS12 = 2; locL12 = 3; //1 or 3 locJ12 = 1; locPsi1IsPhotonFlag = false; locPsi2IsPhotonFlag = false; */ /* //3+ -> 2+, 0- locJ1 = 2; locJ2 = 0; locS12 = 2; locL12 = 5; //1 or 3 or 5 locJ12 = 3; locPsi1IsPhotonFlag = false; locPsi2IsPhotonFlag = false; */ /* //0+ -> 1-, 1- locJ1 = 1; locJ2 = 1; locS12 = 2; //0 or 2 //equals L locL12 = 2; //0 or 2 locJ12 = 0; locPsi1IsPhotonFlag = false; locPsi2IsPhotonFlag = false; */ /* //0- -> 1-, 1- locJ1 = 1; locJ2 = 1; locS12 = 1; locL12 = 1; locJ12 = 0; locPsi1IsPhotonFlag = false; locPsi2IsPhotonFlag = false; */ /* //1- -> 1+, 1- locJ1 = 1; locJ2 = 1; locS12 = 2; //1 or 2 //when L is 0, must be 1 locL12 = 2; //0 or 2 locJ12 = 1; locPsi1IsPhotonFlag = false; locPsi2IsPhotonFlag = false; */ /* //1+ -> 1+, 1- locJ1 = 1; locJ2 = 1; locS12 = 2; //0, 1, or 2 //when L is 3, must be 2 locL12 = 3; //1 or 3 locJ12 = 1; locPsi1IsPhotonFlag = false; locPsi2IsPhotonFlag = false; */ //1+ -> 0-, 1+ locJ1 = 0; locJ2 = 1; locS12 = 1; locL12 = 1; locJ12 = 1; locPsi1IsPhotonFlag = false; locPsi2IsPhotonFlag = false; //A(-H12) = (-1)^(L12 + S12 - J12)*A(H12) int locHelicity12 = 0; cout << "J12 = " << locJ12 << ", L12 = " << locL12 << ", S12 = " << locS12 << ", H12 = " << locHelicity12 << ", J1 = " << locJ1 << ", J2 = " << locJ2 << ":" << endl; HCA_TensorContractor locHelicityCouplingAmplitudeBuilder; deque locFinalAmplitudes; locHelicityCouplingAmplitudeBuilder.dDebugFlag = true; locHelicityCouplingAmplitudeBuilder.Calc_Invariants_2BodyDecay(locJ1, locJ2, locHelicity12, locS12, locL12, locJ12, locPsi1IsPhotonFlag, locPsi2IsPhotonFlag, locFinalAmplitudes); cout << "# final amplitudes = " << locFinalAmplitudes.size() << endl; for(size_t loc_i = 0; loc_i < locFinalAmplitudes.size(); ++loc_i) { cout << "Final Amplitude " << loc_i << ":" << endl; locHelicityCouplingAmplitudeBuilder.Print_FinalAmplitude(locFinalAmplitudes[loc_i]); } return 0; }