]>
Commit | Line | Data |
---|---|---|
7b4a37c0 | 1 | #ifndef ALIGENCOSMICSPARAM_H |
2 | #define ALIGENCOSMICSPARAM_H | |
3 | /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | // Generator for muons according to kinematic parametrizations at ALICE | |
7 | // (not at the surface). | |
8 | // Origin: andrea.dainese@lnl.infn.it | |
9 | ||
10 | ||
11 | #include "AliLog.h" | |
12 | #include "AliGenerator.h" | |
13 | ||
14 | class AliGenCosmicsParam : public AliGenerator | |
15 | { | |
16 | public: | |
17 | ||
18 | AliGenCosmicsParam(); | |
19 | virtual ~AliGenCosmicsParam() {} | |
20 | virtual void Generate(); | |
21 | virtual void Init(); | |
22 | void SetParamMI() { fParamMI=kTRUE; fParamACORDE=kFALSE; return; } | |
23 | void SetParamACORDE() { fParamMI=kFALSE; fParamACORDE=kTRUE; return; } | |
24 | void SetYOrigin(Float_t y=600.) { fYOrigin=y; return; } | |
25 | void SetMaxAngleWRTVertical(Float_t max=45.) { | |
26 | if(max<0. || max>90.) AliFatal("angle must be in [0,pi/2]"); | |
27 | fMaxAngleWRTVertical=max; return; } | |
28 | void SetBkG(Float_t b) { fBkG=b; return; } | |
d764c7b8 | 29 | void SetInACORDE(Bool_t onlyACORDE4ITS=kFALSE) |
30 | { fACORDE=kTRUE; fACORDE4ITS=onlyACORDE4ITS; return; } | |
34217575 | 31 | void SetInBottomScintillator() { fBottomScintillator=kTRUE; return; } |
7b4a37c0 | 32 | void SetInTPC() { fTPC=kTRUE; return; } |
33 | void SetInITS() { fITS=kTRUE; return; } | |
7b4a37c0 | 34 | void SetInSPDinner() { fSPDinner=kTRUE; return; } |
d764c7b8 | 35 | void SetInSPDouter() { fSPDouter=kTRUE; return; } |
36 | void SetInSDDinner() { fSDDinner=kTRUE; return; } | |
37 | void SetInSDDouter() { fSDDouter=kTRUE; return; } | |
38 | void SetInSSDinner() { fSSDinner=kTRUE; return; } | |
39 | void SetInSSDouter() { fSSDouter=kTRUE; return; } | |
7b4a37c0 | 40 | |
41 | private: | |
42 | ||
43 | Bool_t IntersectCylinder(Float_t r,Float_t z,Int_t pdg, | |
44 | Float_t o[3],Float_t p[3]) const; | |
fb2a6a7f | 45 | Bool_t IntersectACORDE(Int_t pdg, |
46 | Float_t o[3],Float_t p[3]) const; | |
34217575 | 47 | Bool_t IntersectBottomScintillator(Int_t pdg, |
48 | Float_t o[3],Float_t p[3]) const; | |
7b4a37c0 | 49 | Bool_t fParamMI; // parametrization from M.Ivanov |
50 | Bool_t fParamACORDE; // parametrization from AliGenACORDE | |
51 | // (parametrized at ALICE y) | |
52 | Float_t fYOrigin; // y of muon origin | |
53 | Float_t fMaxAngleWRTVertical; // maximum angle between momentum and y axis | |
54 | Float_t fBkG; // field in kGauss | |
55 | Bool_t fTPC; // acceptance cuts | |
56 | Bool_t fITS; // acceptance cuts | |
7b4a37c0 | 57 | Bool_t fSPDinner; // acceptance cuts |
d764c7b8 | 58 | Bool_t fSPDouter; // acceptance cuts |
59 | Bool_t fSDDinner; // acceptance cuts | |
60 | Bool_t fSDDouter; // acceptance cuts | |
61 | Bool_t fSSDinner; // acceptance cuts | |
62 | Bool_t fSSDouter; // acceptance cuts | |
fb2a6a7f | 63 | Bool_t fACORDE; // acceptance cuts |
d764c7b8 | 64 | Bool_t fACORDE4ITS; // acceptance cuts |
34217575 | 65 | Bool_t fBottomScintillator; // acceptance cuts |
7b4a37c0 | 66 | |
34217575 | 67 | ClassDef(AliGenCosmicsParam,4) // parametrized cosmics generator |
7b4a37c0 | 68 | }; |
69 | ||
70 | #endif |