]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDmcTrack.h
Mostly minor style modifications to be ready for cloning with EMCAL
[u/mrichter/AliRoot.git] / TRD / AliTRDmcTrack.h
CommitLineData
16bf9884 1#ifndef ALITRDMCTRACK_H
2#define ALITRDMCTRACK_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
0a29d0f1 7///////////////////////////////////////////////////////////////////////////////
8// //
9// TRD MC track //
10// Used for efficiency estimates and matching of reconstructed tracks //
11// to MC particles //
12// //
13///////////////////////////////////////////////////////////////////////////////
14
16bf9884 15#include <TObject.h>
16
17class AliTRDgeometry;
18
19class AliTRDmcTrack : public TObject {
20
21// Represents TRD related info about generated track
22
23public:
24
25 AliTRDmcTrack();
26 AliTRDmcTrack(Int_t label, Bool_t primary, Float_t mass, Int_t charge, Int_t pdg);
27
28 void SetPin(Int_t plane, Double_t px, Double_t py, Double_t pz)
0a29d0f1 29 { fPin[plane][0] = px; fPin[plane][1] = py; fPin[plane][2] = pz; }
16bf9884 30
31 void SetPout(Int_t plane, Double_t px, Double_t py, Double_t pz)
0a29d0f1 32 { fPout[plane][0] = px; fPout[plane][1] = py; fPout[plane][2] = pz; }
16bf9884 33
34 void GetPxPyPz(Double_t &px, Double_t &py, Double_t &pz, Int_t opt = 0) const;
35 void GetPlanePxPyPz(Double_t &px, Double_t &py, Double_t &pz
36 ,Int_t plane, Int_t opt = 0) const;
37
38 void Update(Int_t index) { if (fN < 199) fIndex[fN++] = index; }
39
40 Int_t GetTrackIndex() const { return fLab; }
41 Bool_t IsPrimary() const { return fPrimary; }
42 Float_t GetMass() const { return fMass; }
43 Int_t GetCharge() const { return fCharge; }
44 Int_t GetPdgCode() const { return fPDG; }
45
46 Int_t GetNumberOfClusters() const { return fN; }
47 Int_t GetClusterIndex(Int_t i) const { return fIndex[i]; }
48
49protected:
50
51 Int_t fLab; // Track index
52 Bool_t fPrimary; // TRUE if it's a primary particle
53 Float_t fMass; // Mass of the MC track
54 Int_t fCharge; // Charge of the MC track
55 Int_t fPDG; // PDG code of the MC track
56
57 Int_t fN; // Number of TRD clusters associated with the track
58 Int_t fIndex[200]; // Indices of these clusters
59
0a29d0f1 60 Double_t fPin[6][3]; // Px,Py,Pz at the entrance of each TRD plane
61 Double_t fPout[6][3]; // Px,Py,Pz at the exit of each TRD plane
16bf9884 62
63 ClassDef(AliTRDmcTrack,1) // TRD MC track
64
65};
66
67#endif