]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITStrackSA.h
Temporarily change the number of charge injection points to
[u/mrichter/AliRoot.git] / ITS / AliITStrackSA.h
1 #ifndef ALIITSTRACKSA_H
2 #define ALIITSTRACKSA_H 
3 /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5 ////////////////////////////////////////////////////
6 //  Stand alone track class                       //
7 //  Origin:  Elisabetta Crescio                   //
8 //  e-mail:  crescio@to.infn.it                   //
9 //                                                //
10 ////////////////////////////////////////////////////
11
12 /* $Id$ */
13
14 #include "AliITStrackMI.h"
15
16 class AliITStrackSA : public AliITStrackMI {
17
18
19  public:
20
21   AliITStrackSA();
22   AliITStrackSA(const AliITStrackMI& t);
23   AliITStrackSA(const AliITStrackSA& t);
24   AliITStrackSA(Int_t layer, Int_t ladder, Int_t detector, 
25                 Double_t Ycoor, Double_t Zcoor, Double_t phi, 
26                 Double_t tanlambda, Double_t curv, Int_t lab);
27   AliITStrackSA(Double_t alpha, Double_t radius,
28                 Double_t Ycoor, Double_t Zcoor, Double_t phi, 
29                 Double_t tanlambda, Double_t curv, Int_t lab);
30
31   Int_t GetClusterIndexSA(Int_t i) const {return fSain[i];}
32   Int_t GetClusterMark(Int_t layer,Int_t i) const {return fCluMark[layer][i];}
33   Int_t GetNumberOfClustersSA() const {return fNSA;}
34   Int_t GetNumberOfMarked(Int_t lay) const {return fNM[lay];}
35   static Int_t GetMaxNumberOfClusters() {return kMaxNumberOfClusters;}
36   Int_t GetMaxNMarkedPerLayer() const {return kMaxNumberOfClustersL;}
37   void  AddClusterSA(Int_t layer, Int_t clnumb);
38   void  AddClusterV2(Int_t layer,Int_t clnumb);
39   void  AddClusterMark(Int_t layer, Int_t clnumb);
40
41   enum {kMaxNumberOfClustersL = 4};// Max. n. of clusters/layer 
42   enum {kMaxNumberOfClusters = 15};// Max. number of clusters
43
44  protected: 
45   AliITStrackSA& operator=(const AliITStrackSA& t); 
46   void Init(Double_t alpha, Double_t radius,
47             Double_t Ycoor, Double_t Zcoor, Double_t phi, 
48             Double_t tanlambda, Double_t curv, Int_t lab);
49   void SetNumberOfClustersSA(Int_t n){fNSA = n;}
50   void SetNumberOfMarked(Int_t lay,Int_t n) {fNM[lay] = n;}
51   void ResetIndexSA(){for(Int_t k=0; k<kMaxNumberOfClusters; k++) fSain[k]=0;}
52   void ResetMarked(); 
53
54
55   UInt_t  fSain[kMaxNumberOfClusters];   // cluster index (SA)
56   Int_t fNSA;          // number of clusters SA 
57
58   Int_t fCluMark[AliITSgeomTGeo::kNLayers][kMaxNumberOfClustersL]; //indices for cluster used
59   Int_t fNM[AliITSgeomTGeo::kNLayers]; //number of marked clusters
60
61   ClassDef(AliITStrackSA,4)
62 };
63
64 #endif
65
66
67