ROOT logo
#ifndef ALIITSTRACKSA_H
#define ALIITSTRACKSA_H 
/* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */
////////////////////////////////////////////////////
//  Stand alone track class                       //
//  Origin:  Elisabetta Crescio                   //
//  e-mail:  crescio@to.infn.it                   //
//                                                //
////////////////////////////////////////////////////

/* $Id$ */

#include "AliITStrackMI.h"

class AliITStrackSA : public AliITStrackMI {


 public:

  AliITStrackSA();
  AliITStrackSA(const AliITStrackMI& t);
  AliITStrackSA(const AliITStrackSA& t);
  AliITStrackSA(Int_t layer, Int_t ladder, Int_t detector, 
                Double_t Ycoor, Double_t Zcoor, Double_t phi, 
                Double_t tanlambda, Double_t curv, Int_t lab);
  AliITStrackSA(Double_t alpha, Double_t radius,
                Double_t Ycoor, Double_t Zcoor, Double_t phi, 
                Double_t tanlambda, Double_t curv, Int_t lab);

  Int_t GetClusterIndexSA(Int_t i) const {return fSain[i];}
  Int_t GetClusterMark(Int_t layer,Int_t i) const {return fCluMark[layer][i];}
  Int_t GetNumberOfClustersSA() const {return fNSA;}
  Int_t GetNumberOfMarked(Int_t lay) const {return fNM[lay];}
  static Int_t GetMaxNumberOfClusters() {return kMaxNumberOfClusters;}
  Int_t GetMaxNMarkedPerLayer() const {return kMaxNumberOfClustersL;}
  void  AddClusterSA(Int_t layer, Int_t clnumb);
  void  AddClusterV2(Int_t layer,Int_t clnumb);
  void  AddClusterMark(Int_t layer, Int_t clnumb);

  enum {kMaxNumberOfClustersL = 4};// Max. n. of clusters/layer 
  enum {kMaxNumberOfClusters = 15};// Max. number of clusters

 protected: 
  AliITStrackSA& operator=(const AliITStrackSA& t); 
  void Init(Double_t alpha, Double_t radius,
	    Double_t Ycoor, Double_t Zcoor, Double_t phi, 
	    Double_t tanlambda, Double_t curv, Int_t lab);
  void SetNumberOfClustersSA(Int_t n){fNSA = n;}
  void SetNumberOfMarked(Int_t lay,Int_t n) {fNM[lay] = n;}
  void ResetIndexSA(){for(Int_t k=0; k<kMaxNumberOfClusters; k++) fSain[k]=0;}
  void ResetMarked(); 


  UInt_t  fSain[kMaxNumberOfClusters];   // cluster index (SA)
  Int_t fNSA;          // number of clusters SA 

  Int_t fCluMark[AliITSgeomTGeo::kNLayers][kMaxNumberOfClustersL]; //indices for cluster used
  Int_t fNM[AliITSgeomTGeo::kNLayers]; //number of marked clusters

  ClassDef(AliITStrackSA,4)
};

#endif



 AliITStrackSA.h:1
 AliITStrackSA.h:2
 AliITStrackSA.h:3
 AliITStrackSA.h:4
 AliITStrackSA.h:5
 AliITStrackSA.h:6
 AliITStrackSA.h:7
 AliITStrackSA.h:8
 AliITStrackSA.h:9
 AliITStrackSA.h:10
 AliITStrackSA.h:11
 AliITStrackSA.h:12
 AliITStrackSA.h:13
 AliITStrackSA.h:14
 AliITStrackSA.h:15
 AliITStrackSA.h:16
 AliITStrackSA.h:17
 AliITStrackSA.h:18
 AliITStrackSA.h:19
 AliITStrackSA.h:20
 AliITStrackSA.h:21
 AliITStrackSA.h:22
 AliITStrackSA.h:23
 AliITStrackSA.h:24
 AliITStrackSA.h:25
 AliITStrackSA.h:26
 AliITStrackSA.h:27
 AliITStrackSA.h:28
 AliITStrackSA.h:29
 AliITStrackSA.h:30
 AliITStrackSA.h:31
 AliITStrackSA.h:32
 AliITStrackSA.h:33
 AliITStrackSA.h:34
 AliITStrackSA.h:35
 AliITStrackSA.h:36
 AliITStrackSA.h:37
 AliITStrackSA.h:38
 AliITStrackSA.h:39
 AliITStrackSA.h:40
 AliITStrackSA.h:41
 AliITStrackSA.h:42
 AliITStrackSA.h:43
 AliITStrackSA.h:44
 AliITStrackSA.h:45
 AliITStrackSA.h:46
 AliITStrackSA.h:47
 AliITStrackSA.h:48
 AliITStrackSA.h:49
 AliITStrackSA.h:50
 AliITStrackSA.h:51
 AliITStrackSA.h:52
 AliITStrackSA.h:53
 AliITStrackSA.h:54
 AliITStrackSA.h:55
 AliITStrackSA.h:56
 AliITStrackSA.h:57
 AliITStrackSA.h:58
 AliITStrackSA.h:59
 AliITStrackSA.h:60
 AliITStrackSA.h:61
 AliITStrackSA.h:62
 AliITStrackSA.h:63
 AliITStrackSA.h:64
 AliITStrackSA.h:65
 AliITStrackSA.h:66
 AliITStrackSA.h:67