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

Annotation of /PamVMC/include/pCutControl.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (hide annotations) (download)
Fri Jun 12 18:39:20 2009 UTC (15 years, 6 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 nikolas 1.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