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 Revision 1.3 2002/10/22 15:02:15 alibrary
19 Introducing Riostream.h
21 Revision 1.2 2002/10/14 14:57:33 hristov
22 Merging the VirtualMC branch to the main development branch (HEAD)
24 Revision 1.1.2.1 2002/10/14 09:45:57 hristov
25 Updating VirtualMC to v3-09-02
27 Revision 1.1 2002/09/17 08:37:12 jchudoba
28 Classes to create and store tracks maps - correcpondence between track label and entry number in the TreeH
32 ////////////////////////////////////////////////////////////////////////
36 // contains a relation between track label and it's index
38 // The main method is At, it takes a particle label as an argument
39 // and returns the correponding entry in TreeH (many particles
40 // are usually stored in 1 TreeH entry, one has to check particle
41 // labels for each hit). 'At' returns:
42 // kNoEntry = -1 if the particle has no entry in TreeH
43 // kOutOfBounds = -2 if the particle label is out of bounds
45 // Author: Jiri Chudoba (CERN), 2002
47 ////////////////////////////////////////////////////////////////////////
49 #include <Riostream.h>
54 #include "AliTrackMap.h"
60 //_______________________________________________________________________
61 AliTrackMap::AliTrackMap():
70 //_______________________________________________________________________
71 AliTrackMap::AliTrackMap(const AliTrackMap& trm):
82 //_______________________________________________________________________
83 AliTrackMap::AliTrackMap(Int_t size, Int_t *array):
84 TNamed("AliTrackMap", "AliTrackMap"),
86 fArray(new Int_t[fSize])
91 for (Int_t i = 0; i < fSize; i++) fArray[i] = array[i];
94 //_______________________________________________________________________
95 void AliTrackMap::Copy(AliTrackMap& ) const
97 Fatal("Copy","Not implemented\n");
100 //_______________________________________________________________________
101 AliTrackMap::~AliTrackMap()
109 //_______________________________________________________________________
110 Int_t AliTrackMap::At(Int_t label) const
113 // returns entry number in the TreeH corresponding to particle with
116 if (label < 0 || label >= fSize) {
117 cerr<<"AliTrackMap::At: label "<<label<<" out of range, fSize = "<<fSize<<endl;
120 return fArray[label];
123 //_______________________________________________________________________
124 void AliTrackMap::SetEventNr(Int_t eventNr)
127 // map is identified by it's name, event number is part of it
130 sprintf(name,"AliTrackMap_%5.5d",eventNr);
134 //_______________________________________________________________________
135 void AliTrackMap::PrintValues() const
138 // method for debugging
140 cout<<this->GetName()<<" contains these values: "<<endl;
141 for (Int_t i = 0; i < fSize; i++) {
142 cout<<i<<"\t"<<fArray[i]<<"\n";