ATLAS Offline Software
Loading...
Searching...
No Matches
Quirk.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#include "G4ParticleTable.hh"
6#include "InfracolorForce.h"
7#include "Quirk.h"
8
10 const G4String& aName, G4double mass,
11 G4double width, G4double charge,
12 G4int iSpin, G4int iParity,
13 G4int iConjugation, G4int iIsospin,
14 G4int iIsospin3, G4int gParity,
15 const G4String& pType, G4int lepton,
16 G4int baryon, G4int encoding,
17 G4bool stable, G4double lifetime,
18 G4DecayTable *decaytable, G4bool shortlived,
19 const G4String& subType,
20 G4int anti_encoding,
21 G4double magneticMoment
22) :
23 G4ParticleDefinition(
24 aName,mass,width,charge,iSpin,iParity,
25 iConjugation,iIsospin,iIsospin3,gParity,pType,
26 lepton,baryon,encoding,stable,lifetime,decaytable,
27 shortlived,subType,anti_encoding,magneticMoment
28 ),
30{
31 G4ParticleTable* particleTable = GetParticleTable();
32 G4ParticleDefinition* partner = particleTable->FindParticle(GetAntiPDGEncoding());
33 if (partner != 0) {
34 Quirk* qpartner = dynamic_cast<Quirk*>(partner);
35 if (qpartner == 0) {
36 G4Exception("Quirk::Quirk", "NonQuirkAntiparticle", FatalErrorInArgument, "Antiparticle of quirk must be a quirk");
37 std::abort();
38 }
39 m_stringIn->SetReactionForce(qpartner->m_stringIn);
41 }
42}
43
45 delete m_stringIn;
46}
double charge(const T &p)
Definition AtlasPID.h:997
const double width
void SetReactionForce(InfracolorForce *reactionForce)
InfracolorForce * m_stringIn
Definition Quirk.h:36
~Quirk()
Definition Quirk.cxx:44
Quirk(const G4String &aName, G4double mass, G4double width, G4double charge, G4int iSpin, G4int iParity, G4int iConjugation, G4int iIsospin, G4int iIsospin3, G4int gParity, const G4String &pType, G4int lepton, G4int baryon, G4int encoding, G4bool stable, G4double lifetime, G4DecayTable *decaytable, G4bool shortlived, const G4String &subType="", G4int anti_encoding=0, G4double magneticMoment=0.0)
Definition Quirk.cxx:9