Adding extra check for GPU_FORCE_64BIT_PTR env var
[u/mrichter/AliRoot.git] / JETAN / AliJetFillCalTrkTrackMC.h
1 #ifndef ALIJETFILLCALTRKTRACKMC_H
2 #define ALIJETFILLCALTRKTRACKMC_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6  
7 /* $Id$ */
8
9 //--------------------------------------------------
10 // Filling of CalTrkTrack objects in the MC reader task
11 //
12 // Author: magali.estienne@subatech.in2p3.fr
13 //         alexandre.shabetai@cern.ch
14 //-------------------------------------------------
15
16 #include "AliJetFillCalTrkEvent.h"
17
18 class AliVEvent;
19 class AliMCEvent;
20
21 class AliJetFillCalTrkTrackMC : public AliJetFillCalTrkEvent
22 {
23  public: 
24   AliJetFillCalTrkTrackMC();
25   AliJetFillCalTrkTrackMC(AliVEvent *fVEvt);
26   virtual ~AliJetFillCalTrkTrackMC();
27   
28   // Setter
29   void    SetHadCorrector(AliJetHadronCorrection* const corr) {fHadCorr = corr;}
30   void    SetApplyMIPCorrection(Bool_t const val)             {fApplyMIPCorrection = val;}
31   void    SetVEvent(AliVEvent* const evt)                     {fVEvt = evt;} 
32   void    SetMCEvent(AliMCEvent* const mc)                    {fMCEvent = mc ;}
33
34   // Getter
35   Int_t   GetHadCorrection() const                            {return fApplyMIPCorrection;}
36
37   // Other
38   void    Exec(Option_t const * option);
39   Bool_t  FillKine();
40   // Fast Simulation
41   Float_t SmearMomentum(Int_t ind, Float_t p);
42   Bool_t  Efficiency(Float_t pt, Float_t eta, Float_t phi);
43
44   // we have different cases
45   // AOD reading -> MC from AOD
46   // ESD reading -> MC from Kinematics
47   // this has to match with our selection of input events
48   enum {kTrackUndef = 0, kTrackKineAll, kTrackKineCharged, kTrackAODMCAll, kTrackAODMCCharged, kTrackAODMCChargedAcceptance};
49
50  protected:
51   AliJetHadronCorrection* fHadCorr;            // Pointer to Hadron Correction Object
52   Bool_t                  fApplyMIPCorrection; // Apply MIP or not ? Exclusive with fApplyFractionHadronicCorrection
53   AliVEvent*              fVEvt;               // Pointer to AliVEvent object
54   AliMCEvent*             fMCEvent;            // Pointer to AliMCEvent object
55           
56  private:
57   AliJetFillCalTrkTrackMC(const AliJetFillCalTrkTrackMC &det);
58   AliJetFillCalTrkTrackMC &operator=(const AliJetFillCalTrkTrackMC &det);
59
60   ClassDef(AliJetFillCalTrkTrackMC,1)          // Fill AliJetCalTrkTrack/TrackKine with MC track information
61 };
62
63 #endif