How to get TopoDS_Shape through mouse click

Hi Bros, I'm new in OCCT, I learn the AIS with the code of Kirill Gavrilov , I try to get the imformation of the face I select, Maybe location an orient of Cylindrical surface. I thought I can get it with the help of BRepAdaptor_Surface, I just don't know how to get the TopoDS_Shape I select. Maybe I can add an callback of mouse button down event. I will try it.
There is my code and step file.