1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 ////////////////////////////////////////////////////////////////////////////
21 // Used for efficiency estimates and matching of reconstructed tracks //
24 ////////////////////////////////////////////////////////////////////////////
26 #include "AliTRDmcTrack.h"
27 #include "AliTRDgeometry.h"
29 ClassImp(AliTRDmcTrack)
31 //_____________________________________________________________________________
32 AliTRDmcTrack::AliTRDmcTrack()
43 // Default constructor
46 for (Int_t ltb = 0; ltb < kMAX_TB; ltb++) {
47 for (Int_t plane = 0; plane < 6; plane++) {
48 fIndex[ltb][plane][0] = -1;
49 fIndex[ltb][plane][1] = -1;
53 for (Int_t i = 0; i < 6; i++) {
54 for (Int_t j = 0; j < 3; j++) {
64 //_____________________________________________________________________________
65 AliTRDmcTrack::AliTRDmcTrack(Int_t label, Int_t seedLabel, Bool_t primary
66 , Float_t mass, Int_t charge, Int_t pdg)
80 for (Int_t ltb = 0; ltb < kMAX_TB; ltb++) {
81 for (Int_t plane = 0; plane < 6; plane++) {
82 fIndex[ltb][plane][0] = -1;
83 fIndex[ltb][plane][1] = -1;
87 for (Int_t i = 0; i < 6; i++) {
88 for (Int_t j = 0; j < 3; j++) {
98 //_____________________________________________________________________________
99 void AliTRDmcTrack::GetPxPyPzXYZ(Double_t& px, Double_t& py, Double_t& pz
100 , Double_t& x, Double_t& y, Double_t& z
104 // Returns track momentum components and coordinates at the entrance
105 // (opt >= 0), or exit (opt < 0) of TRD.
112 for (i = 0; i < AliTRDgeometry::Nplan(); i++) {
113 if ((Pin[i][0]*Pin[i][0]
114 + Pin[i][1]*Pin[i][1]
115 + Pin[i][2]*Pin[i][2]) > 0.0005) {
130 for (i = AliTRDgeometry::Nplan() - 1; i >= 0; i--) {
131 if ((Pout[i][0]*Pout[i][0]
132 + Pout[i][1]*Pout[i][1]
133 + Pout[i][2]*Pout[i][2]) > 0.0005) {
150 //_____________________________________________________________________________
151 void AliTRDmcTrack::GetPlanePxPyPz(Double_t& px, Double_t& py, Double_t& pz
152 , Int_t plane, Int_t opt) const
155 // Returns momentum components at the entrance (opt >= 0), or
156 // exit (opt < 0) of TRD plane <plane>.