This repository has been archived by the owner on Nov 10, 2017. It is now read-only.
forked from FeynCalc/feynhelpers
-
Notifications
You must be signed in to change notification settings - Fork 0
/
FeynHelpers.m
78 lines (54 loc) · 2.77 KB
/
FeynHelpers.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
(* ::Package:: *)
(* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *)
(* :Title: FeynHelpers *)
(*
This software is covered by the GNU General Public License 3.
Copyright (C) 2015-2018 Vladyslav Shtabovenko
*)
(* :Summary: Interfaces between FeynCalc and other useful HEP package *)
(* ------------------------------------------------------------------------ *)
$FeynHelpersVersion::usage=
"$FeynHelpersVersion is the string that represents the version of FeynHelpers";
$FeynHelpersDirectory::usage=
"$FeynHelpersDirectory is the string that represents the full path to the FeynHelpers \
directory";
Begin["`Package`"]
End[]
Begin["`FeynHelpers`Private`"];
$FeynHelpersVersion="1.1.0";
$FeynHelpersDirectory =
ToFileName[{$FeynCalcDirectory, "AddOns", "FeynHelpers"}];
(* Load the intefaces *)
BeginPackage["FeynCalc`"];
FCDeclareHeader/@FileNames[{"*.m"},ToFileName[{$FeynHelpersDirectory,"Interfaces"}]];
Get/@FileNames[{"*.m"},ToFileName[{$FeynHelpersDirectory,"Interfaces"}]];
EndPackage[]
fcVersion = StringSplit[$FeynCalcVersion, "."];
tooOldString = "Your FeynCalc version is too old. FeynHelpers "<> $FeynHelpersVersion <> " requires at least FeynCalc 9.2.0";
If[ fcVersion[[1]]<9,
Print[tooOldString];
Abort[],
If[ fcVersion[[2]]<2,
Print[tooOldString];
Abort[]
];
];
(* Print startup message *)
If[ $FeynCalcStartupMessages =!= False,
Print[Style["FeynHelpers ", "Text", Bold], Style[$FeynHelpersVersion <> " loaded.", "Text"]];
Print[ Style["Have a look at the supplied ","Text"],
Style[DisplayForm@ButtonBox["examples.", BaseStyle -> "Hyperlink", ButtonFunction :>
SystemOpen[FileNameJoin[{$FeynHelpersDirectory, "Examples"}]],
Evaluator -> Automatic, Method -> "Preemptive"], "Text"],
Style[" If you use FeynHelpers in your research, please cite","Text"]];
Print [Style[" \[Bullet] V. Shtabovenko, \"FeynHelpers: Connecting FeynCalc to FIRE and Package-X\", Comput. Phys. Commun., 218, 48-65, 2017, arXiv:1611.06793","Text"]];
Print[Style["Furthermore, remember to cite the authors of the tools that you are calling from FeynHelpers, which are","Text"]];
Print [Style[" \[Bullet] "], Style[DisplayForm@ButtonBox["FIRE",ButtonData :> {URL["http://science.sander.su/FIRE.htm"], None},BaseStyle -> "Hyperlink",
ButtonNote -> "http://science.sander.su/FIRE.htm"],"Text"], Style[" by A. Smirnov, if you are using the function FIREBurn.","Text"]];
Print [Style[" \[Bullet] "], Style[DisplayForm@ButtonBox["Package-X",ButtonData :> {URL["https://packagex.hepforge.org"], None},BaseStyle -> "Hyperlink",
ButtonNote -> "https://packagex.hepforge.org"],"Text"], Style[" by H. Patel, if you are using the function PaXEvaluate.","Text"]];
];
If[ !ValueQ[FeynHelpers`Package`paxLoaded],
FeynHelpers`Package`paxLoaded = False
];
End[]