Update timestamps for new AMANDA simulation (17/02/2015)
[u/mrichter/AliRoot.git] / EVGEN / AliGenCosmicsParam.h
CommitLineData
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
14class AliGenCosmicsParam : public AliGenerator
15{
16public:
17
18 AliGenCosmicsParam();
19 virtual ~AliGenCosmicsParam() {}
20 virtual void Generate();
21 virtual void Init();
48eed0c3 22 void SetParamMI() { fParamMI=kTRUE; fParamACORDE=kFALSE; fParamDataTPC=kFALSE; return; }
23 void SetParamACORDE() { fParamMI=kFALSE; fParamACORDE=kTRUE; fParamDataTPC=kFALSE; return; }
65d7da27 24 void SetParamDataTPC() { fParamMI=kFALSE; fParamACORDE=kFALSE; fParamDataTPC=kTRUE; return; }
7b4a37c0 25 void SetYOrigin(Float_t y=600.) { fYOrigin=y; return; }
26 void SetMaxAngleWRTVertical(Float_t max=45.) {
27 if(max<0. || max>90.) AliFatal("angle must be in [0,pi/2]");
28 fMaxAngleWRTVertical=max; return; }
29 void SetBkG(Float_t b) { fBkG=b; return; }
d764c7b8 30 void SetInACORDE(Bool_t onlyACORDE4ITS=kFALSE)
31 { fACORDE=kTRUE; fACORDE4ITS=onlyACORDE4ITS; return; }
34217575 32 void SetInBottomScintillator() { fBottomScintillator=kTRUE; return; }
7b4a37c0 33 void SetInTPC() { fTPC=kTRUE; return; }
34 void SetInITS() { fITS=kTRUE; return; }
7b4a37c0 35 void SetInSPDinner() { fSPDinner=kTRUE; return; }
d764c7b8 36 void SetInSPDouter() { fSPDouter=kTRUE; return; }
37 void SetInSDDinner() { fSDDinner=kTRUE; return; }
38 void SetInSDDouter() { fSDDouter=kTRUE; return; }
39 void SetInSSDinner() { fSSDinner=kTRUE; return; }
40 void SetInSSDouter() { fSSDouter=kTRUE; return; }
7b4a37c0 41
42private:
43
44 Bool_t IntersectCylinder(Float_t r,Float_t z,Int_t pdg,
45 Float_t o[3],Float_t p[3]) const;
fb2a6a7f 46 Bool_t IntersectACORDE(Int_t pdg,
47 Float_t o[3],Float_t p[3]) const;
34217575 48 Bool_t IntersectBottomScintillator(Int_t pdg,
49 Float_t o[3],Float_t p[3]) const;
7b4a37c0 50 Bool_t fParamMI; // parametrization from M.Ivanov
51 Bool_t fParamACORDE; // parametrization from AliGenACORDE
48eed0c3 52 Bool_t fParamDataTPC; // parametrization from TPC Summer08 cosmics
7b4a37c0 53 // (parametrized at ALICE y)
54 Float_t fYOrigin; // y of muon origin
55 Float_t fMaxAngleWRTVertical; // maximum angle between momentum and y axis
56 Float_t fBkG; // field in kGauss
57 Bool_t fTPC; // acceptance cuts
58 Bool_t fITS; // acceptance cuts
7b4a37c0 59 Bool_t fSPDinner; // acceptance cuts
d764c7b8 60 Bool_t fSPDouter; // acceptance cuts
61 Bool_t fSDDinner; // acceptance cuts
62 Bool_t fSDDouter; // acceptance cuts
63 Bool_t fSSDinner; // acceptance cuts
64 Bool_t fSSDouter; // acceptance cuts
fb2a6a7f 65 Bool_t fACORDE; // acceptance cuts
d764c7b8 66 Bool_t fACORDE4ITS; // acceptance cuts
34217575 67 Bool_t fBottomScintillator; // acceptance cuts
7b4a37c0 68
48eed0c3 69 ClassDef(AliGenCosmicsParam,5) // parametrized cosmics generator
7b4a37c0 70};
71
72#endif