22:mdcDigitizer(pointer)
23{
24 noiseDirectory = new G4UIdirectory("/mdc/noise/");
25 noiseDirectory->SetGuidance("BESIII MDC noise control");
26
27
28 noiseFlag = new G4UIcmdWithAnInteger("/mdc/noise/flag",this);
29 noiseFlag->SetGuidance("whether to add noise to MdcDigi.");
30 noiseFlag->SetParameterName("MdcNoiseFlag",false);
31 noiseFlag->SetRange("MdcNoiseFlag>=0");
32
33
34
35 noiseType = new G4UIcmdWithAnInteger("/mdc/noise/type",this);
36 noiseType->SetGuidance("select noise type.");
37 noiseType->SetParameterName("MdcNoiseType",false);
38 noiseType->SetRange("MdcNoiseType>=0");
39
40
41
42 noiseLevel = new G4UIcmdWithADouble("/mdc/noise/level",this);
43 noiseLevel->SetGuidance("noise level");
44 noiseLevel->SetParameterName("MdcNoiseLevel",false);
45 noiseLevel->SetRange("MdcNoiseLevel>=0.");
46
47
48 digiDirectory = new G4UIdirectory("/mdc/digi/");
49 digiDirectory->SetGuidance("BESIII MDC digitizer control");
50
51
52 smearFlag = new G4UIcmdWithAnInteger("/mdc/digi/smearflag",this);
53 smearFlag->SetGuidance("whether to do T smear to MdcDigi.");
54 smearFlag->SetParameterName("MdcSmearFlag",true);
55 smearFlag->SetRange("MdcSmearFlag>=0");
56 smearFlag->SetDefaultValue(1);
57
58
59 mdcDRes = new G4UIcmdWithADouble("/mdc/digi/spaceres",this);
60 mdcDRes->SetGuidance("value of space resolution");
61 mdcDRes->SetParameterName("MdcDRes",false);
62 mdcDRes->SetRange("MdcDRes>0");
63
64 effDirectory = new G4UIdirectory("/mdc/eff/");
65 effDirectory->SetGuidance("BESIII MDC wire efficiency control");
66
67
68 effFlag = new G4UIcmdWithAnInteger("/mdc/eff/flag",this);
69 effFlag->SetGuidance("Get eff. from 0: CalSvc; 1: mac file");
70 effFlag->SetParameterName("MdcEffFlag",false);
71 effFlag->SetRange("MdcEffFlag>=0");
72
73
75 G4bool omittable;
76
77
78 layerEff = new G4UIcommand("/mdc/eff/eff",this);
79 layerEff->SetGuidance("Set eff. of MDC layers");
80
81 parameter =
new G4UIparameter(
"layer",
'i',omittable =
false);
82 parameter->SetGuidance(
"Which layer to be modified");
83 parameter->SetParameterRange(
"layer >= -1 && layer < 43");
86
87 parameter =
new G4UIparameter(
"eff",
'd',omittable =
false);
89 parameter->SetParameterRange(
"eff >= 0. && eff <=1.");
92}
double precision pisqo6 parameter(pi=3.14159265358979d0, pisq=pi *pi, pisqo6=pisq/6d0) double precision zip