Back to home page

Project CMSSW displayed by LXR

 
 

    


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 }