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