Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:20

0001 #ifndef FASTSIM_CMSDUMMYDEEXCITATION_H
0002 #define FASTSIM_CMSDUMMYDEEXCITATION_H
0003 
0004 ///////////////////////////////////////////////
0005 // CMSDummyDeexcitation
0006 //
0007 // Description: Needed as a dummy interface to Geant4 nuclear de-excitation module; no secondary produced
0008 //
0009 // Author: Vladimir Ivanchenko
0010 // Date: 20 Jan 2015
0011 //
0012 // Revision: Class structure modified to match SimplifiedGeometryPropagator
0013 //           S. Kurz, 29 May 2017
0014 //////////////////////////////////////////////////////////
0015 
0016 #include "G4VPreCompoundModel.hh"
0017 #include "G4ReactionProductVector.hh"
0018 
0019 class G4Fragment;
0020 class G4HadFinalState;
0021 class G4HadProjectile;
0022 class G4Nucleus;
0023 
0024 namespace fastsim {
0025   //! Needed as a dummy interface to Geant4 nuclear de-excitation module.
0026   /*!
0027         No secondary produced.
0028     */
0029   class CMSDummyDeexcitation : public G4VPreCompoundModel {
0030   public:
0031     CMSDummyDeexcitation() : G4VPreCompoundModel(nullptr, "PRECO"){};
0032     ~CMSDummyDeexcitation() override{};
0033     G4HadFinalState* ApplyYourself(const G4HadProjectile&, G4Nucleus&) override { return nullptr; };
0034     G4ReactionProductVector* DeExcite(G4Fragment&) override { return new G4ReactionProductVector(); };
0035     void DeExciteModelDescription(std::ostream& outFile) const override { return; };
0036   };
0037 }  // namespace fastsim
0038 
0039 #endif