]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TGeant4/TG4G3Defaults.cxx
attribute fSDManager added
[u/mrichter/AliRoot.git] / TGeant4 / TG4G3Defaults.cxx
1 // $Id$
2 // Category: global
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 //_____________________________________________________________________________
43 TG4G3Defaults::TG4G3Defaults() {
44 //
45 }
46   
47 //_____________________________________________________________________________
48 TG4G3Defaults::~TG4G3Defaults() {
49 //
50 }
51
52 //_____________________________________________________________________________
53 G4double TG4G3Defaults::CutValue(G4int g3Cut)
54 {
55 // Returns the G3 default value for the specified cut.
56 // ---
57
58   switch (g3Cut) {
59     case kCUTGAM:  
60       return fgkCUTGAM;
61     case kCUTELE:  
62       return fgkCUTELE;
63     case kCUTNEU:  
64       return fgkCUTNEU;
65     case kCUTHAD:  
66       return fgkCUTHAD;
67     case kCUTMUO:  
68       return fgkCUTMUO;
69     case kBCUTE:   
70       return fgkBCUTE; 
71     case kBCUTM:   
72       return fgkBCUTM; 
73     case kDCUTE:   
74       return fgkDCUTE; 
75     case kDCUTM:   
76       return fgkDCUTM; 
77     case kPPCUTM:  
78       return fgkPPCUTM;
79     default:
80       TG4Globals::Warning("TG4G3Defaults::CutValue: Inconsistent cut.");
81       return 0.;      
82   }
83 }          
84
85 //_____________________________________________________________________________
86 TG4G3ControlValue TG4G3Defaults::ControlValue(G4int control)
87 {
88 // Returns the G3 default value for the specified control.
89 // ---
90
91   switch (control) {
92     case kPAIR:
93       return fgkPAIR;
94     case kCOMP:
95       return fgkCOMP;
96     case kPHOT:
97       return fgkPHOT;
98     case kPFIS:
99       return fgkPFIS;
100     case kDRAY:
101       return fgkDRAY;
102     case kANNI:
103       return fgkANNI;
104     case kBREM:
105       return fgkBREM;
106     case kHADR:
107       return fgkHADR;
108     case kMUNU:
109       return fgkMUNU;
110     case kDCAY:
111       return fgkDCAY;
112     case kLOSS:
113       return fgkLOSS;
114     case kMULS:
115       return fgkMULS;
116     default:
117       TG4Globals::Warning(
118         "TG4G3Defaults::ControlValue: Inconsistent control.");
119       return kUnset;      
120   }
121 }          
122
123 //_____________________________________________________________________________
124 G4bool TG4G3Defaults::IsDefaultCut(TG4G3Cut cut, G4double value)
125 {
126 // Tests if the parameter value is equal to the G3 default value.
127 // ---
128
129   if (abs(value*GeV - CutValue(cut)) > fgkCutTolerance) 
130     return false;
131   else  
132     return true;
133 }
134
135 //_____________________________________________________________________________
136 G4bool TG4G3Defaults::IsDefaultControl(TG4G3Control control,
137                                               G4double value)
138 {
139 // Tests if the parameter value is equal to the G3 default value.
140 // ---
141
142   if (value == ControlValue(control)) 
143     return true;
144   else  
145     return false;
146 }