A method for detecting special nuclear materials, comprising the steps of - irradiating a detection region of an object to be detected with a first X-ray beam, the energy of the first X-ray beam being selected to enable the special nuclear materials that possibly exist in the object to be detected to undergo an observable photofission; - measuring a first fission ray signal emitted from the object to be detected due to the photofission, wherein if the measured first fission ray signal exceeds a first threshold value, it is determined that the detection region of the object to be detected contains fissile materials; characterized by the further steps of: - irradiating the detection region of the object to be detected with low energy neutrons, the energy of the low energy neutrons being selected to enable the special nuclear materials that possibly exist in the fissile materials in the object to be detected to undergo a thermal neutron induced fission; - measuring a second fission ray signal emitted from the object to be detected due to the thermal neutron induced fission, wherein if the measured second fission ray signal exceeds a second threshold value, it is determined that the fissile materials in the object to be detected contain special nuclear materials; - generating a first electron beam by an electron accelerator, the electron beam having a first energy; - producing the first X-ray beam using the first electron beam; - generating a second electron beam by the electron accelerator if it is determined that the detection region of the object to be detected contains fissile materials, the second electron beam having a second energy different than the first energy; - producing a second X-ray beam by bombarding an electronic target with the second electron beam, wherein the energy of the second X-ray beam is lower than the energy of the first X-ray beam and the second X-ray beam is used to generate low energy neutrons. - irradiating a detection region of an object to be detected with a first X-ray beam, the energy of the first X-ray beam being selected to enable the special nuclear materials that possibly exist in the object to be detected to undergo an observable photofission; - measuring a first fission ray signal emitted from the object to be detected due to the photofission, wherein if the measured first fission ray signal exceeds a first threshold value, it is determined that the detection region of the object to be detected contains fissile materials; - irradiating the detection region of the object to be detected with low energy neutrons, the energy of the low energy neutrons being selected to enable the special nuclear materials that possibly exist in the fissile materials in the object to be detected to undergo a thermal neutron induced fission; - measuring a second fission ray signal emitted from the object to be detected due to the thermal neutron induced fission, wherein if the measured second fission ray signal exceeds a second threshold value, it is determined that the fissile materials in the object to be detected contain special nuclear materials; - generating a first electron beam by an electron accelerator, the electron beam having a first energy; - producing the first X-ray beam using the first electron beam; - generating a second electron beam by the electron accelerator if it is determined that the detection region of the object to be detected contains fissile materials, the second electron beam having a second energy different than the first energy; - producing a second X-ray beam by bombarding an electronic target with the second electron beam, wherein the energy of the second X-ray beam is lower than the energy of the first X-ray beam and the second X-ray beam is used to generate low energy neutrons.