File indexing completed on 2025-07-09 05:00:33
0001 #include "SimG4Core/CustomPhysics/interface/CMSAPrime.h"
0002 #include <CLHEP/Units/SystemOfUnits.h>
0003
0004 CMSAPrime* CMSAPrime::theAPrime = nullptr;
0005
0006 CMSAPrime::CMSAPrime(const G4String& aName,
0007 G4double mass,
0008 G4double width,
0009 G4double charge,
0010 G4int iSpin,
0011 G4int iParity,
0012 G4int iConjugation,
0013 G4int iIsospin,
0014 G4int iIsospin3,
0015 G4int gParity,
0016 const G4String& pType,
0017 G4int lepton,
0018 G4int baryon,
0019 G4int encoding,
0020 G4bool stable,
0021 G4double lifetime,
0022 G4DecayTable* decaytable)
0023 : G4ParticleDefinition(aName,
0024 mass,
0025 width,
0026 charge,
0027 iSpin,
0028 iParity,
0029 iConjugation,
0030 iIsospin,
0031 iIsospin3,
0032 gParity,
0033 pType,
0034 lepton,
0035 baryon,
0036 encoding,
0037 stable,
0038 lifetime,
0039 decaytable) {}
0040
0041 CMSAPrime* CMSAPrime::APrime(double apmass) {
0042 if (!theAPrime) {
0043 const G4String& name = "A^1";
0044 G4double mass = apmass * CLHEP::MeV;
0045 G4double width = 0.;
0046 G4double charge = 0;
0047 G4int iSpin = 0;
0048 G4int iParity = 0;
0049 G4int iConjugation = 0;
0050 G4int iIsospin = 0;
0051 G4int iIsospin3 = 0;
0052 G4int gParity = 0;
0053 const G4String& pType = "APrime";
0054 G4int lepton = 0;
0055 G4int baryon = 0;
0056 G4int encoding = 9994;
0057 G4bool stable = true;
0058 G4double lifetime = -1;
0059 G4DecayTable* decaytable = nullptr;
0060
0061 theAPrime = new CMSAPrime(name,
0062 mass,
0063 width,
0064 charge,
0065 iSpin,
0066 iParity,
0067 iConjugation,
0068 iIsospin,
0069 iIsospin3,
0070 gParity,
0071 pType,
0072 lepton,
0073 baryon,
0074 encoding,
0075 stable,
0076 lifetime,
0077 decaytable);
0078 }
0079 return theAPrime;
0080 }