]>
Commit | Line | Data |
---|---|---|
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 | 19 | class TArrayI; |
20 | class TConesArray; | |
e8189707 | 21 | class AliITSdigitSSD; |
b0f5e3fc | 22 | |
ee86d557 | 23 | class 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); | |
ac74f489 | 30 | AliITSclusterSSD& operator=( const AliITSclusterSSD & source); |
ee86d557 | 31 | void AddDigit(Int_t index){//adds on digit |
32 | (*fDigitsIndex)[fNDigits++]=index;} | |
ac74f489 | 33 | TObjArray* GetPointer2Digits(){return fDigits;}// comment to be written |
ee86d557 | 34 | void SetPointer2Digits(TObjArray *digits){// comment to be written |
35 | fDigits = digits;} | |
7d62fb64 | 36 | Int_t GetNumOfDigits() const {//Returns number of digits that creates this cluster |
ee86d557 | 37 | return fNDigits;} |
38 | Int_t GetDigitSignal(Int_t digit); | |
39 | AliITSdigitSSD *GetDigit(Int_t idx) { // comment to be written | |
40 | return (AliITSdigitSSD *)((*fDigits)[GetDigitIndex(idx)]);} | |
7d62fb64 | 41 | Int_t GetDigitIndex (Int_t digit) const {// comment to be written |
ee86d557 | 42 | return (*fDigitsIndex)[digit];} |
43 | Int_t GetDigitStripNo(Int_t digit); | |
ac74f489 | 44 | // comment to be written |
45 | Int_t GetFirstDigitStripNo(){return GetDigitStripNo(0);} | |
ee86d557 | 46 | Int_t GetLastDigitStripNo(){// comment to be written |
47 | return GetDigitStripNo(fNDigits-1);} | |
48 | //splits this one side cluster for two | |
49 | Int_t SplitCluster(Int_t where,Int_t *outdigits); | |
50 | void AddCross(Int_t clIndex); //Add index of cluster that it crosses with | |
51 | //return index of cluster that it crosses with | |
7d62fb64 | 52 | Int_t GetCross(Int_t crIndex) const ; |
53 | Int_t GetCrossNo() const {// Returns number of crosses | |
ac74f489 | 54 | return fNCrosses;} |
ee86d557 | 55 | void DelCross(Int_t index); |
56 | Double_t GetPosition(); | |
7d62fb64 | 57 | Double_t GetPositionError() const; |
ee86d557 | 58 | Float_t GetTotalSignal(); |
59 | Float_t GetTotalSignalError(); | |
60 | void CutTotalSignal(Float_t sx) {// comment to be written | |
61 | if (fTotalSignal>sx) fTotalSignal-=sx;} | |
62 | Bool_t GetRightNeighbour() const {// comment to be written | |
63 | return fRightNeighbour;} | |
64 | Bool_t GetLeftNeighbour() const {// comment to be written | |
65 | return fLeftNeighbour;} | |
66 | void SetRightNeighbour(Bool_t nei) {// comment to be written | |
67 | fRightNeighbour=nei;} | |
ac74f489 | 68 | //comment to be written |
69 | void SetLeftNeighbour(Bool_t nei){fLeftNeighbour=nei;} | |
70 | void SetNTracks(Int_t ntracks) {fNTracks=ntracks;}// set ntracks | |
7d62fb64 | 71 | Int_t GetNTracks() const {return fNTracks;}// comment to be written |
72 | Bool_t GetSide() const {return fSide;}// comment to be written | |
73 | Int_t CheckSatus(Int_t *) const {return 0;}//check if dig's comes from same track | |
ee86d557 | 74 | Int_t *GetTracks(Int_t &nt); |
75 | void Consume(){// comment | |
76 | fConsumed = kTRUE;} | |
77 | Bool_t IsConsumed() const{// comment | |
78 | return fConsumed;} | |
7d62fb64 | 79 | Bool_t IsCrossingWith(Int_t idx) const; |
ee86d557 | 80 | protected: |
81 | Bool_t fSide; //True if P | |
82 | TObjArray *fDigits; //Pointer to List of Digitsbelonging to AliITS | |
83 | Int_t fNDigits; //Number of digits that make up that cluster | |
84 | TArrayI *fDigitsIndex; // Digit indexes in fDigits array | |
85 | Int_t fNCrosses; //Number of crossed one side clusters on the | |
86 | // other side (max 8 : it is not aribtrary) | |
87 | TArrayI *fCrossedClusterIndexes; //Array of inedexes of crossed clusters | |
88 | // (in TClonesArray) | |
89 | // not in TArrayI in package | |
90 | Bool_t fLeftNeighbour; // comment to be written | |
91 | Bool_t fRightNeighbour; // comment to be written | |
92 | Bool_t fConsumed; // comment to be written | |
93 | Float_t fTotalSignal; // comment to be written | |
94 | Int_t fTrack[10]; // comment to be written | |
95 | Int_t fNTracks; // comment to be written | |
96 | ||
97 | Double_t CentrOfGravity(); | |
98 | Double_t EtaAlgorithm(); | |
99 | ClassDef(AliITSclusterSSD,1) // Cluster class for reconstructing SSD | |
b0f5e3fc | 100 | }; |
101 | ||
102 | #endif |