1 |
nikolas |
1.1 |
#include "PamVMCVolCrossMgr.h" |
2 |
|
|
|
3 |
|
|
#include "PamVMCCrossTOF.h" |
4 |
|
|
#include "PamVMCCrossTRK.h" |
5 |
|
|
#include "PamVMCCrossMAG.h" |
6 |
|
|
|
7 |
|
|
PamVMCVolCrossMgr::PamVMCVolCrossMgr(){ |
8 |
|
|
|
9 |
|
|
TString t; |
10 |
|
|
t="S11Y"; |
11 |
|
|
fvolmap.Add(new TObjString(t), new PamVMCCrossS11Y()); |
12 |
|
|
t="S12X"; |
13 |
|
|
fvolmap.Add(new TObjString(t), new PamVMCCrossS12X()); |
14 |
|
|
t="S21X"; |
15 |
|
|
fvolmap.Add(new TObjString(t), new PamVMCCrossS21X()); |
16 |
|
|
t="S22Y"; |
17 |
|
|
fvolmap.Add(new TObjString(t), new PamVMCCrossS22Y()); |
18 |
|
|
t="S31Y"; |
19 |
|
|
fvolmap.Add(new TObjString(t), new PamVMCCrossS31Y()); |
20 |
|
|
t="S32X"; |
21 |
|
|
fvolmap.Add(new TObjString(t), new PamVMCCrossS32X()); |
22 |
|
|
t="TSPA"; |
23 |
|
|
fvolmap.Add(new TObjString(t), new PamVMCCrossTRK()); |
24 |
|
|
t="MGPL"; |
25 |
|
|
fvolmap.Add(new TObjString(t), new PamVMCCrossMGPL()); |
26 |
|
|
t="MGPA"; |
27 |
|
|
fvolmap.Add(new TObjString(t), new PamVMCCrossMGPA()); |
28 |
|
|
|
29 |
|
|
} |
30 |
|
|
|
31 |
|
|
PamVMCVolCrossMgr * PamVMCVolCrossMgr::fcrm = 0; |
32 |
|
|
|
33 |
|
|
PamVMCVolCrossMgr * PamVMCVolCrossMgr::Instance(){ |
34 |
|
|
if(fcrm == 0) { |
35 |
|
|
fcrm = new PamVMCVolCrossMgr(); |
36 |
|
|
} |
37 |
|
|
return fcrm; |
38 |
|
|
} |
39 |
|
|
|
40 |
|
|
Bool_t PamVMCVolCrossMgr::IsTrackGood(){ |
41 |
|
|
|
42 |
|
|
|
43 |
|
|
Bool_t S11=((PamVMCVolCross*)fvolmap.GetValue("S11Y"))->IsVolCross(); |
44 |
|
|
Bool_t S12=((PamVMCVolCross*)fvolmap.GetValue("S12X"))->IsVolCross(); |
45 |
|
|
Bool_t S1=kFALSE; |
46 |
|
|
if (S11||S12) S1=kTRUE; |
47 |
|
|
Bool_t S21=((PamVMCVolCross*)fvolmap.GetValue("S21X"))->IsVolCross(); |
48 |
|
|
Bool_t S22=((PamVMCVolCross*)fvolmap.GetValue("S22Y"))->IsVolCross(); |
49 |
|
|
Bool_t S2=kFALSE; |
50 |
|
|
if(S21||S22) S2=kTRUE; |
51 |
|
|
Bool_t S31=((PamVMCVolCross*)fvolmap.GetValue("S31Y"))->IsVolCross(); |
52 |
|
|
Bool_t S32=((PamVMCVolCross*)fvolmap.GetValue("S32X"))->IsVolCross(); |
53 |
|
|
Bool_t S3=kFALSE; |
54 |
|
|
if(S31||S32) S3=kTRUE; |
55 |
|
|
|
56 |
|
|
Bool_t TOF=((PamVMCVolCross*)fvolmap.GetValue("TSPA"))->IsVolCross(); |
57 |
|
|
Bool_t MGPL=((PamVMCVolCross*)fvolmap.GetValue("MGPL"))->IsVolCross(); |
58 |
|
|
Bool_t MGPA=((PamVMCVolCross*)fvolmap.GetValue("MGPA"))->IsVolCross(); |
59 |
|
|
|
60 |
|
|
|
61 |
|
|
return S1*S2*S3*TOF*MGPL*MGPA; |
62 |
|
|
} |
63 |
|
|
|
64 |
|
|
void PamVMCVolCrossMgr::Reset(){ |
65 |
|
|
TMapIter *n= (TMapIter *)fvolmap.MakeIterator(); |
66 |
pam-rm2 |
1.5 |
TObject *o; while( (o=(TObject *) n->Next())) { |
67 |
nikolas |
1.1 |
((PamVMCVolCross*)fvolmap.GetValue(o))->Reset(); |
68 |
|
|
} |
69 |
|
|
} |