]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TGeant4/TG4G3Defaults.cxx
Default is no shunting.
[u/mrichter/AliRoot.git] / TGeant4 / TG4G3Defaults.cxx
1 // $Id$
2 // Category: physics
3 //
4 // See the class description in the header file.
5
6 #include "TG4G3Defaults.h"
7 #include "TG4Globals.h"
8
9 #include <math.h>
10
11 // static const data members
12
13 // precision tolerance
14 const G4double TG4G3Defaults::fgkCutTolerance = 1. * keV;
15
16 // kinetic energy cuts
17 const G4double TG4G3Defaults::fgkCUTGAM = 0.001 * GeV;
18 const G4double TG4G3Defaults::fgkCUTELE = 0.001 * GeV;
19 const G4double TG4G3Defaults::fgkCUTNEU = 0.01 * GeV;
20 const G4double TG4G3Defaults::fgkCUTHAD = 0.01 * GeV;
21 const G4double TG4G3Defaults::fgkCUTMUO = 0.01 * GeV;
22 const G4double TG4G3Defaults::fgkBCUTE  = fgkCUTGAM;
23 const G4double TG4G3Defaults::fgkBCUTM  = fgkCUTGAM;
24 const G4double TG4G3Defaults::fgkDCUTE  = 10. * TeV;
25 const G4double TG4G3Defaults::fgkDCUTM  = 10. * TeV;
26 const G4double TG4G3Defaults::fgkPPCUTM = 0.01 * GeV;
27
28 // physics processes
29 const TG4G3ControlValue TG4G3Defaults::fgkPAIR = kActivate;   // 1
30 const TG4G3ControlValue TG4G3Defaults::fgkCOMP = kActivate;   // 1
31 const TG4G3ControlValue TG4G3Defaults::fgkPHOT = kActivate;   // 1
32 const TG4G3ControlValue TG4G3Defaults::fgkPFIS = kInActivate; // 0
33 const TG4G3ControlValue TG4G3Defaults::fgkDRAY = kActivate2;  // 2
34 const TG4G3ControlValue TG4G3Defaults::fgkANNI = kActivate;   // 1
35 const TG4G3ControlValue TG4G3Defaults::fgkBREM = kActivate;   // 1
36 const TG4G3ControlValue TG4G3Defaults::fgkHADR = kActivate;   // 1
37 const TG4G3ControlValue TG4G3Defaults::fgkMUNU = kInActivate; // 0
38 const TG4G3ControlValue TG4G3Defaults::fgkDCAY = kActivate;   // 1
39 const TG4G3ControlValue TG4G3Defaults::fgkLOSS = kActivate2;  // 2
40 const TG4G3ControlValue TG4G3Defaults::fgkMULS = kActivate;   // 1
41
42 TG4G3Defaults::TG4G3Defaults() {
43 //
44 }
45   
46 TG4G3Defaults::~TG4G3Defaults() {
47 //
48 }
49
50 G4double TG4G3Defaults::CutValue(G4int g3Cut)
51 {
52 // Returns the G3 default value for the specified cut.
53 // ---
54
55   switch (g3Cut) {
56     case kCUTGAM:  
57       return fgkCUTGAM;
58     case kCUTELE:  
59       return fgkCUTELE;
60     case kCUTNEU:  
61       return fgkCUTNEU;
62     case kCUTHAD:  
63       return fgkCUTHAD;
64     case kCUTMUO:  
65       return fgkCUTMUO;
66     case kBCUTE:   
67       return fgkBCUTE; 
68     case kBCUTM:   
69       return fgkBCUTM; 
70     case kDCUTE:   
71       return fgkDCUTE; 
72     case kDCUTM:   
73       return fgkDCUTM; 
74     case kPPCUTM:  
75       return fgkPPCUTM;
76     default:
77       TG4Globals::Warning("TG4G3Defaults::CutValue: Inconsistent cut.");
78       return 0.;      
79   }
80 }          
81
82 TG4G3ControlValue TG4G3Defaults::ControlValue(G4int control)
83 {
84 // Returns the G3 default value for the specified control.
85 // ---
86
87   switch (control) {
88     case kPAIR:
89       return fgkPAIR;
90     case kCOMP:
91       return fgkCOMP;
92     case kPHOT:
93       return fgkPHOT;
94     case kPFIS:
95       return fgkPFIS;
96     case kDRAY:
97       return fgkDRAY;
98     case kANNI:
99       return fgkANNI;
100     case kBREM:
101       return fgkBREM;
102     case kHADR:
103       return fgkHADR;
104     case kMUNU:
105       return fgkMUNU;
106     case kDCAY:
107       return fgkDCAY;
108     case kLOSS:
109       return fgkLOSS;
110     case kMULS:
111       return fgkMULS;
112     default:
113       TG4Globals::Warning(
114         "TG4G3Defaults::ControlValue: Inconsistent control.");
115       return kUnset;      
116   }
117 }          
118
119 G4bool TG4G3Defaults::IsDefaultCut(TG4G3Cut cut, G4double value)
120 {
121 // Tests if the parameter value is equal to the G3 default value.
122 // ---
123
124   if (abs(value*GeV - CutValue(cut)) > fgkCutTolerance) 
125     return false;
126   else  
127     return true;
128 }
129
130 G4bool TG4G3Defaults::IsDefaultControl(TG4G3Control control,
131                                               G4double value)
132 {
133 // Tests if the parameter value is equal to the G3 default value.
134 // ---
135
136   if (value == ControlValue(control)) 
137     return true;
138   else  
139     return false;
140 }