1 |
#ifndef PAMVMC_CROSS_TRK_H |
2 |
#define PAMVMC_CROSS_TRK_H |
3 |
|
4 |
#include "PamVMCVolCross.h" |
5 |
|
6 |
class PamVMCCrossTRK : public PamVMCVolCross { |
7 |
|
8 |
private: |
9 |
|
10 |
Bool_t fTRK1; |
11 |
Bool_t fTRK2; |
12 |
Bool_t fTRK3; |
13 |
Bool_t fTRK4; |
14 |
Bool_t fTRK5; |
15 |
Bool_t fTRK6; |
16 |
|
17 |
public: |
18 |
|
19 |
PamVMCCrossTRK():PamVMCVolCross("TSPA") |
20 |
{ fTRK1=kFALSE; |
21 |
fTRK2=kFALSE; |
22 |
fTRK3=kFALSE; |
23 |
fTRK4=kFALSE; |
24 |
fTRK5=kFALSE; |
25 |
fTRK6=kFALSE; |
26 |
}; |
27 |
|
28 |
|
29 |
Int_t GetPlaneNo(){ |
30 |
Int_t pl = Int_t((fdetID->GetID())/6.+1); |
31 |
if(pl==7) pl=6; |
32 |
return pl; |
33 |
} |
34 |
|
35 |
virtual void FillCrossMap(){ |
36 |
Int_t pl = GetPlaneNo(); |
37 |
//fdetID->Print(); |
38 |
cout<<"Stepsize"<<gMC->TrackStep()*10000<<"um in plane"<<pl<<" particle is:"<<gMC->TrackPid()<<endl; |
39 |
switch(pl){ |
40 |
case 1: |
41 |
fTRK1=kTRUE; |
42 |
break; |
43 |
case 2: |
44 |
fTRK2=kTRUE; |
45 |
break; |
46 |
case 3: |
47 |
fTRK3=kTRUE; |
48 |
break; |
49 |
case 4: |
50 |
fTRK4=kTRUE; |
51 |
break; |
52 |
case 5: |
53 |
fTRK5=kTRUE; |
54 |
break; |
55 |
case 6: |
56 |
fTRK6=kTRUE; |
57 |
break; |
58 |
default: |
59 |
break; |
60 |
} |
61 |
} |
62 |
|
63 |
Bool_t IsVolCross(){ return fTRK1*fTRK2*fTRK3*fTRK4*fTRK5*fTRK6; } |
64 |
|
65 |
virtual void Reset(){ |
66 |
fTRK1=kFALSE; |
67 |
fTRK2=kFALSE; |
68 |
fTRK3=kFALSE; |
69 |
fTRK4=kFALSE; |
70 |
fTRK5=kFALSE; |
71 |
fTRK6=kFALSE; |
72 |
} |
73 |
|
74 |
ClassDef(PamVMCCrossTRK,1) |
75 |
}; |
76 |
|
77 |
|
78 |
#endif //PAMVMC_CROSS_TRK_H |