]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSclusterSSD.h
Record charged and neutral energy component separately.
[u/mrichter/AliRoot.git] / ITS / AliITSclusterSSD.h
CommitLineData
b0f5e3fc 1#ifndef ALIITSCLUSTERSSD_H
2#define ALIITSCLUSTERSSD_H
ee86d557 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/*
7 $Id$
8 */
9
10 //Piotr Krzysztof Skowronski
11 //Warsaw University of Technology
12 //skowron@if.pw.edu.pl
13 //
14 // Describes set of neighbouring digits on one side of detector,
15 // that are supposed to be generated by one particle.
16 // includes information about clusters on other side that it crosses with
b0f5e3fc 17#include "TObject.h"
b0f5e3fc 18
ee86d557 19class TArrayI;
20class TConesArray;
e8189707 21class AliITSdigitSSD;
b0f5e3fc 22
ee86d557 23class AliITSclusterSSD : public TObject{
24 public:
25 AliITSclusterSSD(); //Default Constructor
26 virtual ~AliITSclusterSSD();
27 AliITSclusterSSD(Int_t ndigits, Int_t *DigitIndexes,
28 TObjArray *Digits, Bool_t side);
29 AliITSclusterSSD(const AliITSclusterSSD &source);
30 AliITSclusterSSD& operator=( const AliITSclusterSSD & source);
31 void AddDigit(Int_t index){//adds on digit
32 (*fDigitsIndex)[fNDigits++]=index;}
33 TObjArray* GetPointer2Digits(){// comment to be written
34 return fDigits;}
35 void SetPointer2Digits(TObjArray *digits){// comment to be written
36 fDigits = digits;}
37 Int_t GetNumOfDigits(){//Returns number of digits that creates this cluster
38 return fNDigits;}
39 Int_t GetDigitSignal(Int_t digit);
40 AliITSdigitSSD *GetDigit(Int_t idx) { // comment to be written
41 return (AliITSdigitSSD *)((*fDigits)[GetDigitIndex(idx)]);}
42 Int_t GetDigitIndex (Int_t digit) {// comment to be written
43 return (*fDigitsIndex)[digit];}
44 Int_t GetDigitStripNo(Int_t digit);
45 Int_t GetFirstDigitStripNo(){// comment to be written
46 return GetDigitStripNo(0);}
47 Int_t GetLastDigitStripNo(){// comment to be written
48 return GetDigitStripNo(fNDigits-1);}
49 //splits this one side cluster for two
50 Int_t SplitCluster(Int_t where,Int_t *outdigits);
51 void AddCross(Int_t clIndex); //Add index of cluster that it crosses with
52 //return index of cluster that it crosses with
53 Int_t GetCross(Int_t crIndex);
54 Int_t GetCrossNo() {// Returns number of crosses
55 return fNCrosses;}
56 void DelCross(Int_t index);
57 Double_t GetPosition();
58 Double_t GetPositionError();
59 Float_t GetTotalSignal();
60 Float_t GetTotalSignalError();
61 void CutTotalSignal(Float_t sx) {// comment to be written
62 if (fTotalSignal>sx) fTotalSignal-=sx;}
63 Bool_t GetRightNeighbour() const {// comment to be written
64 return fRightNeighbour;}
65 Bool_t GetLeftNeighbour() const {// comment to be written
66 return fLeftNeighbour;}
67 void SetRightNeighbour(Bool_t nei) {// comment to be written
68 fRightNeighbour=nei;}
69 void SetLeftNeighbour(Bool_t nei) {// comment to be written
70 fLeftNeighbour=nei;}
71 void SetNTracks(Int_t ntracks) {// set ntracks
72 fNTracks=ntracks;}
73 Int_t GetNTracks(){// comment to be written
74 return fNTracks;}
75 Bool_t GetSide(){// comment to be written
76 return fSide;}
77 Int_t CheckSatus(Int_t *tracks){//check if digits comes from the same track
78 return 0;}
79 Int_t *GetTracks(Int_t &nt);
80 void Consume(){// comment
81 fConsumed = kTRUE;}
82 Bool_t IsConsumed() const{// comment
83 return fConsumed;}
84 Bool_t IsCrossingWith(Int_t idx);
85 protected:
86 Bool_t fSide; //True if P
87 TObjArray *fDigits; //Pointer to List of Digitsbelonging to AliITS
88 Int_t fNDigits; //Number of digits that make up that cluster
89 TArrayI *fDigitsIndex; // Digit indexes in fDigits array
90 Int_t fNCrosses; //Number of crossed one side clusters on the
91 // other side (max 8 : it is not aribtrary)
92 TArrayI *fCrossedClusterIndexes; //Array of inedexes of crossed clusters
93 // (in TClonesArray)
94 // not in TArrayI in package
95 Bool_t fLeftNeighbour; // comment to be written
96 Bool_t fRightNeighbour; // comment to be written
97 Bool_t fConsumed; // comment to be written
98 Float_t fTotalSignal; // comment to be written
99 Int_t fTrack[10]; // comment to be written
100 Int_t fNTracks; // comment to be written
101
102 Double_t CentrOfGravity();
103 Double_t EtaAlgorithm();
104 ClassDef(AliITSclusterSSD,1) // Cluster class for reconstructing SSD
b0f5e3fc 105};
106
107#endif