diracxx
general-purpose Feynman amplitude toolkit for use within the CERN root framework
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.6%) to scientific vocabulary
Repository
general-purpose Feynman amplitude toolkit for use within the CERN root framework
Basic Info
- Host: GitHub
- Owner: rjones30
- License: other
- Language: C++
- Default Branch: master
- Size: 193 KB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 3
- Open Issues: 0
- Releases: 3
Metadata Files
README.md
Dirac++ - general root/c++ toolkit for computing Feynman amplitudes
Author
- Richard Jones, University of Connecticut, Storrs, CT
Description
A general-purpose toolkit for use within the cern/root framework for computing cross sections and rates with all polarization observables under the control of the user for both incoming and outgoing particles. It is decomposed into three lower-level packages that provide the functionality of 4-vectors (see LorentzPackage.h), Pauli algebra (see PauliPackage.h), and Dirac algebra (see DiracPackage.h), with the top-level TCrossSection class integrating them all together.
History
This package was originally written to provide the compute the polarization of Compton scattered electrons and photons at GeV-scale energies. From this beginning, it was fairly simple to generalize into a tool for any QED process for which the Feynman amplitude can be written down as a sum of tree-level graphs. Extension of this package to support computation of higher-order graphs (radiative corrections) is not available at this time.
Release history
See VERSIONS file in the project directory.
Usage synopsis
General functions that support plotting of cross sections and particle generation are provided for specific QED processes in the source files with names that end with ".C". These functions call methods of the TCrossSection class to compute differential cross sections and rates. See the comments within those source files for details.
Dependencies
You need to have installed cern/root version 6 or greater (see http://root.cern.ch) and a working c++ compiler with support for c++11 language features.
Building instructions
See the INSTALL file for instructions on how to compile the source into a shared library libDirac.so and install it in the local install dir. After this, it can be imported into a root session and used by client code, as illustrated here.
$ root -l
root [0] .L libDirac.so
root [1] .L Brems.C+
root [3] .L tests.C+
root [4] TestThreeVectorReal()
Zero(): TThreeVectorReal(0,0,0)
Set to 1,2,3: TThreeVectorReal(1,2,3)
Initialized to 4,5,6: TThreeVectorReal(4,5,6)
Initialized to (Float_t *) 7,8,9: TThreeVectorReal(7,8,9)
Initialized to (Double_t *) 10,11,12: TThreeVectorReal(10,11,12)
Initialized to (TThreeVectorReal) 1,2,3: TThreeVectorReal(1,2,3)
SpaceInv(): TThreeVectorReal(-1,-2,-3)
Normalize(1): TThreeVectorReal(-0.267261,-0.534522,-0.801784)
SetPolar(10,2.5,-1.2) : GetPolar(10,2.5,-1.2)
z == z ? yes!
z != w ? yes!
Rotate(phi,theta,0) gets back z axis? yes!
(w cross x) != 0 ? yes!
w dot (w cross x) == 0 ? yes!
w cross (w - x) == x cross w ? yes!
root [5]
Documentation
See comments at the head of specific process implementation sources:
- Brems.C - bremsstrahlung process
- Compton.C - Compton scattering process
- Pairs.C - coherent pair production process
- Triplets.C - incoherent pair production process
Troubleshooting
The code is open-source, and the behavior should be apparent from the names of the methods. For help with bugs and questions about how to implement additional processes, please contact the author.
Bugs
None known at this time.
How to contribute
Contact the authors
Write to richard.t.jones at uconn.edu.
Owner
- Name: Richard Jones
- Login: rjones30
- Kind: user
- Location: Storrs, Connecticut, USA
- Company: University of Connecticut
- Website: http://zeus.phys.uconn.edu
- Repositories: 36
- Profile: https://github.com/rjones30
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Jones" given-names: "Richard" orcid: "https://orcid.org/0000-0002-1410-6012" title: "Diracxx - general root/c++ toolkit for computing Feynman amplitudes" version: 2.0.3 doi: 10.5281/zenodo.5727312 date-released: 2021-11-25 url: "https://github.com/rjones30/Diracxx"