/[PAMELA software]/PamVMC/include/pCutControl.h
ViewVC logotype

Contents of /PamVMC/include/pCutControl.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (show annotations) (download)
Fri Jun 12 18:39:20 2009 UTC (15 years, 5 months ago) by pam-rm2
Branch: MAIN
CVS Tags: v1r0, HEAD
Changes since 1.1: +0 -0 lines
File MIME type: text/plain
- Introduced user-defined names of output files and random seeds number.
Users can do it use options of PamVMCApplication constructor:
PamVMCApplication(const char* name,  const char *title, const char*
filename="pamtest", Int_t seed=0).
The Random object that I use is TRandom3 object which has astronomical
large period (in case of default initialization 0). All random generators
in the code use this object by calling of gRandom singleton which keeps
it.

- Corrected TOF digitization routine. No problems with TDC hits due to
hadronic interactions anymore.

- Some small changes was done to compile code under Root 5.23. +
geant4_vmc v. 2.6 without any warnings

- Some classes of PamG4RunConfiguartion was changed for geant4_vmc v.
2.6.Some obsolete classes was deleted as soon as developers implemented
regions.

- Navigation was changed from "geomRootToGeant4" to "geomRoot", because on
VMC web page written that as soon as Geant4 has no option ONLY/MANY
translation of overlapped geometry to Geant4 through VGM could be wrong.
I'd like to stay with Root navigation:
http://root.cern.ch/root/vmc/Geant4VMC.html. This should be default
option.

- New Tracker digitization routine written by Sergio was implemented

- PamVMC again became compatible with geant4_vmc v.2.5 and ROOT 5.20.
 The problem was that ROOT developers introduced in TVirtualMC class a new
method SetMagField and new base class:TVirtualMagField from which
user-defined classes shoukd be derived

1 #ifndef PCUTCONTROL_H
2 #define PCUTCONTROL_H
3
4 #include "TObject.h"
5 #include <iostream>
6 #include "TVirtualMC.h"
7
8 class pCutControl : public TObject {
9
10 private:
11
12 Int_t fid; // medium id
13
14 Double_t fCUTGAM, fBCUTE, fCUTELE, fDCUTE, fCUTNEU,
15 fCUTHAD, fCUTMUO, fDCUTM, fBCUTM, fPPCUTM, fPAIR,
16 fCOMP, fPHOT, fPFIS, fDRAY, fANNI, fBREM, fHADR,
17 fMUNU, fDCAY, fLOSS, fMULS;
18
19 public:
20
21 pCutControl():
22 fid(-1), // must be overwriten for specific media
23 fCUTGAM(0.001),
24 fBCUTE(0.001),
25 fCUTELE(0.001),
26 fDCUTE(10000.),
27 fCUTNEU(0.01),
28 fCUTHAD(0.01),
29 fCUTMUO(0.01),
30 fDCUTM(10000.),
31 fBCUTM(0.001),
32 fPPCUTM(0.01),
33 fPAIR(1.),
34 fCOMP(1.),
35 fPHOT(1.),
36 fPFIS(0.),
37 fDRAY(1.),
38 fANNI(1.),
39 fBREM(1.),
40 fHADR(1.),
41 fMUNU(1.),
42 fDCAY(1.),
43 fLOSS(1.),
44 fMULS(1.) {;};
45
46 virtual ~pCutControl(){; };
47
48 pCutControl(Int_t id,
49 Double_t CUTGAM, Double_t BCUTE, Double_t CUTELE, Double_t DCUTE,
50 Double_t CUTNEU, Double_t CUTHAD, Double_t CUTMUO, Double_t DCUTM,
51 Double_t BCUTM, Double_t PPCUTM, Double_t PAIR, Double_t COMP,
52 Double_t PHOT, Double_t PFIS, Double_t DRAY, Double_t ANNI, Double_t BREM,
53 Double_t HADR, Double_t MUNU, Double_t DCAY, Double_t LOSS, Double_t MULS):
54 fid(id),
55 fCUTGAM(CUTGAM),
56 fBCUTE(BCUTE),
57 fCUTELE(CUTELE),
58 fDCUTE(DCUTE),
59 fCUTNEU(CUTNEU),
60 fCUTHAD(CUTHAD),
61 fCUTMUO(CUTMUO),
62 fDCUTM(DCUTM),
63 fBCUTM(BCUTM),
64 fPPCUTM(PPCUTM),
65 fPAIR(PAIR),
66 fCOMP(COMP),
67 fPHOT(PHOT),
68 fPFIS(PFIS),
69 fDRAY(DRAY),
70 fANNI(ANNI),
71 fBREM(BREM),
72 fHADR(HADR),
73 fMUNU(MUNU),
74 fDCAY(DCAY),
75 fLOSS(LOSS),
76 fMULS(MULS) {;};
77
78 Int_t GetID(){ return fid; };
79 Double_t GetCUTGAM(){ return fCUTGAM; };
80 Double_t GetBCUTE(){ return fBCUTE; };
81 Double_t GetCUTELE(){ return fCUTELE; };
82 Double_t GetDCUTE(){ return fDCUTE; };
83 Double_t GetCUTNEU(){ return fCUTNEU; };
84 Double_t GetCUTHAD(){ return fCUTHAD; };
85 Double_t GetCUTMUO(){ return fCUTMUO; };
86 Double_t GetDCUTM(){ return fDCUTM; }
87 Double_t GetBCUTM(){ return fBCUTM; }
88 Double_t GetPPCUTM(){ return fPPCUTM; }
89 Double_t GetPAIR(){ return fPAIR; }
90 Double_t GetCOMP(){ return fCOMP; }
91 Double_t GetPHOT(){ return fPHOT; }
92 Double_t GetPFIS(){ return fPFIS; }
93 Double_t GetDRAY(){ return fDRAY; }
94 Double_t GetANNI(){ return fANNI; }
95 Double_t GetBREM(){ return fBREM; }
96 Double_t GetHADR(){ return fHADR; }
97 Double_t GetMUNU(){ return fMUNU; }
98 Double_t GetDCAY(){ return fDCAY; }
99 Double_t GetLOSS(){ return fLOSS; }
100 Double_t GetMULS(){ return fMULS; }
101
102
103 void SetID(Int_t id){ fid = id; };
104 void SetCUTGAM(Double_t CUTGAM){ fCUTGAM = CUTGAM; };
105 void SetBCUTE(Double_t BCUTE ){ fBCUTE = BCUTE; };
106 void SetCUTELE(Double_t CUTELE){ fCUTELE = CUTELE; };
107 void SetDCUTE(Double_t DCUTE){ fDCUTE = DCUTE; };
108 void SetCUTNEU(Double_t CUTNEU){ fCUTNEU = CUTNEU; };
109 void SetCUTHAD(Double_t CUTHAD){ fCUTHAD = CUTHAD; };
110 void SetCUTMUO(Double_t CUTMUO){ fCUTMUO = CUTMUO; };
111 void SetDCUTM(Double_t DCUTM){ fDCUTM = DCUTM; }
112 void SetBCUTM(Double_t BCUTM){ fBCUTM = BCUTM; }
113 void SetPPCUTM(Double_t PPCUTM){ fPPCUTM = PPCUTM; }
114 void SetPAIR(Double_t PAIR){ fPAIR = PAIR; }
115 void SetCOMP(Double_t COMP){ fCOMP = COMP; }
116 void SetPHOT(Double_t PHOT){ fPHOT = PHOT; }
117 void SetPFIS(Double_t PFIS){ fPFIS = PFIS; }
118 void SetDRAY(Double_t DRAY){ fDRAY = DRAY; }
119 void SetANNI(Double_t ANNI){ fANNI = ANNI; }
120 void SetBREM(Double_t BREM){ fBREM = BREM; }
121 void SetHADR(Double_t HADR){ fHADR = HADR; }
122 void SetMUNU(Double_t MUNU){ fMUNU = MUNU; }
123 void SetDCAY(Double_t DCAY){ fDCAY = DCAY; }
124 void SetLOSS(Double_t LOSS){ fLOSS = LOSS; }
125 void SetMULS(Double_t MULS){ fMULS = MULS; }
126
127 void SetCuts(){
128 gMC->Gstpar(fid,"CUTGAM",fCUTGAM);
129 gMC->Gstpar(fid,"BCUTE",fBCUTE);
130 gMC->Gstpar(fid,"CUTELE",fCUTELE);
131 gMC->Gstpar(fid,"DCUTE",fDCUTE);
132 gMC->Gstpar(fid,"CUTNEU",fCUTNEU);
133 gMC->Gstpar(fid,"CUTHAD",fCUTHAD);
134 gMC->Gstpar(fid,"CUTMUO",fCUTMUO);
135 gMC->Gstpar(fid,"DCUTM",fDCUTM);
136 gMC->Gstpar(fid,"BCUTM",fBCUTM);
137 gMC->Gstpar(fid,"PPCUTM",fPPCUTM);
138 gMC->Gstpar(fid,"PAIR",fPAIR);
139 gMC->Gstpar(fid,"COMP",fCOMP);
140 gMC->Gstpar(fid,"PHOT",fPHOT);
141 gMC->Gstpar(fid,"PFIS",fPFIS);
142 gMC->Gstpar(fid,"DRAY",fDRAY);
143 gMC->Gstpar(fid,"ANNI",fANNI);
144 gMC->Gstpar(fid,"BREM",fBREM);
145 gMC->Gstpar(fid,"HADR",fHADR);
146 gMC->Gstpar(fid,"MUNU",fMUNU);
147 gMC->Gstpar(fid,"DCAY",fDCAY);
148 gMC->Gstpar(fid,"LOSS",fLOSS);
149 gMC->Gstpar(fid,"MULS",fMULS);
150 }
151
152 void Print(const Option_t* ="") const{
153 std::cout<<"ID: "<<fid<<std::endl;
154 std::cout<<"CUTGAM: "<<fCUTGAM<<std::endl;
155 std::cout<<"BCUTE: "<<fBCUTE<<std::endl;
156 std::cout<<"DCUTE: "<<fDCUTE<<std::endl;
157 std::cout<<"CUTNEU: "<<fCUTNEU<<std::endl;
158 std::cout<<"CUTHAD: "<<fCUTHAD<<std::endl;
159 std::cout<<"CUTMUO: "<<fCUTMUO<<std::endl;
160 std::cout<<"DCUTM: "<<fDCUTM<<std::endl;
161 std::cout<<"BCUTM: "<<fBCUTM<<std::endl;
162 std::cout<<"PPCUTM: "<<fPPCUTM<<std::endl;
163 std::cout<<"PAIR: "<<fPAIR<<std::endl;
164 std::cout<<"COMP: "<<fCOMP<<std::endl;
165 std::cout<<"PHOT: "<<fPHOT<<std::endl;
166 std::cout<<"PFIS: "<<fPFIS<<std::endl;
167 std::cout<<"DRAY: "<<fDRAY<<std::endl;
168 std::cout<<"ANNI: "<<fANNI<<std::endl;
169 std::cout<<"BREM: "<<fBREM<<std::endl;
170 std::cout<<"HADR: "<<fHADR<<std::endl;
171 std::cout<<"MUNU: "<<fMUNU<<std::endl;
172 std::cout<<"DCAY: "<<fDCAY<<std::endl;
173 std::cout<<"LOSS: "<<fLOSS<<std::endl;
174 std::cout<<"MULS: "<<fMULS<<std::endl;
175 }
176 ClassDef(pCutControl,1)
177
178 };
179
180
181
182 #endif //PGEOID

  ViewVC Help
Powered by ViewVC 1.1.23