]>
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; } | |
7b4a37c0 | 31 | void SetInTPC() { fTPC=kTRUE; return; } |
32 | void SetInITS() { fITS=kTRUE; return; } | |
7b4a37c0 | 33 | void SetInSPDinner() { fSPDinner=kTRUE; return; } |
d764c7b8 | 34 | void SetInSPDouter() { fSPDouter=kTRUE; return; } |
35 | void SetInSDDinner() { fSDDinner=kTRUE; return; } | |
36 | void SetInSDDouter() { fSDDouter=kTRUE; return; } | |
37 | void SetInSSDinner() { fSSDinner=kTRUE; return; } | |
38 | void SetInSSDouter() { fSSDouter=kTRUE; return; } | |
7b4a37c0 | 39 | |
40 | private: | |
41 | ||
42 | Bool_t IntersectCylinder(Float_t r,Float_t z,Int_t pdg, | |
43 | Float_t o[3],Float_t p[3]) const; | |
fb2a6a7f | 44 | Bool_t IntersectACORDE(Int_t pdg, |
45 | Float_t o[3],Float_t p[3]) const; | |
7b4a37c0 | 46 | Bool_t fParamMI; // parametrization from M.Ivanov |
47 | Bool_t fParamACORDE; // parametrization from AliGenACORDE | |
48 | // (parametrized at ALICE y) | |
49 | Float_t fYOrigin; // y of muon origin | |
50 | Float_t fMaxAngleWRTVertical; // maximum angle between momentum and y axis | |
51 | Float_t fBkG; // field in kGauss | |
52 | Bool_t fTPC; // acceptance cuts | |
53 | Bool_t fITS; // acceptance cuts | |
7b4a37c0 | 54 | Bool_t fSPDinner; // acceptance cuts |
d764c7b8 | 55 | Bool_t fSPDouter; // acceptance cuts |
56 | Bool_t fSDDinner; // acceptance cuts | |
57 | Bool_t fSDDouter; // acceptance cuts | |
58 | Bool_t fSSDinner; // acceptance cuts | |
59 | Bool_t fSSDouter; // acceptance cuts | |
fb2a6a7f | 60 | Bool_t fACORDE; // acceptance cuts |
d764c7b8 | 61 | Bool_t fACORDE4ITS; // acceptance cuts |
7b4a37c0 | 62 | |
d764c7b8 | 63 | ClassDef(AliGenCosmicsParam,3) // parametrized cosmics generator |
7b4a37c0 | 64 | }; |
65 | ||
66 | #endif |