Looking for tools to get nice Callgraph and others useful informations to do "reverse engineering" process to better understand a code

I need a nice callgraph from a C++ code. I would like to better understand the structure of the code, the time or number of calls and all others useful informations.

I tried "Scitools Understand" but it gives not pretty results and it is difficult to use.

I was told too the combination Doxygen + GraphViz but in my code, I have only one defined class and I have doubts it should help me to understand better the code.

My code exists in 2 versions : a GNU g++ version with OpenMP and many Maths GNU libraries. A second version uses icpc Intel compiler with Intel SDK with LAPACKE and MKL.

For the moment, everything is launched in terminal command line (first a Python script that sets up all the initialization part and finally compiles with gnu g++ or Intel icpc) the main code.

I mostly need to make as best as possible a "reverse engineering" process even if I know already the equations used but I need to know how they have been implemented (a lot of inner loops with if conditions as usually to build different matrices).

If someone could give me examples of existing tools or command lines for this goal. I am rather more comfortable with direct command lines, I would like to avoid a big graphical software.

Source: Windows Questions C++