X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSclusterSSD.h;h=bac505bf6fc4d5f6462803c8de17ef16e02cc9e0;hb=7b54ea5c7f4a049ae41d5026aba55d64b07bf6cf;hp=0ab04280e0bfb6b58a3d4ad3c8c29c98d0735732;hpb=e81897071a6c895e2796d84a2531f1385a0a1017;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSclusterSSD.h b/ITS/AliITSclusterSSD.h index 0ab04280e0b..bac505bf6fc 100644 --- a/ITS/AliITSclusterSSD.h +++ b/ITS/AliITSclusterSSD.h @@ -1,154 +1,102 @@ #ifndef ALIITSCLUSTERSSD_H #define ALIITSCLUSTERSSD_H +/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * See cxx source for full Copyright notice */ +/* + $Id$ + */ + + //Piotr Krzysztof Skowronski + //Warsaw University of Technology + //skowron@if.pw.edu.pl + // + // Describes set of neighbouring digits on one side of detector, + // that are supposed to be generated by one particle. + // includes information about clusters on other side that it crosses with #include "TObject.h" -#include "TArrayI.h" -#include "TClonesArray.h" +class TArrayI; +class TConesArray; class AliITSdigitSSD; -class AliITSclusterSSD : public TObject -{ - - -//Piotr Krzysztof Skowronski -//Warsaw University of Technology -//skowron@if.pw.edu.pl -// -// Describes set of neighbouring digits on one side of detector, -// that are supposed to be generated by one particle. -// includes information about clusters on other side that it crosses with - -public: - - AliITSclusterSSD(); //Default Constructor - ~AliITSclusterSSD(); - AliITSclusterSSD(Int_t ndigits, Int_t *DigitIndexes, TObjArray *Digits, Bool_t side); - AliITSclusterSSD(const AliITSclusterSSD &source); - AliITSclusterSSD& operator=( const AliITSclusterSSD & source); - - void AddDigit(Int_t index){ - // //adds on digit - (*fDigitsIndex)[fNDigits++]=index; - } - TObjArray* GetPointer2Digits(){ - // comment to be written - return fDigits; - } - -// TArrayI* GetDigitsIndexes(Int_t &ndigits); -// void SetDigitIndex(Int_t index); - - void SetPointer2Digits(TObjArray *digits){ - // comment to be written - fDigits = digits; - } - Int_t GetNumOfDigits(){ - //Returns number of digits that creates this cluster - return fNDigits; - } - Int_t GetDigitSignal(Int_t digit); - - - AliITSdigitSSD *GetDigit(Int_t idx) { - // comment to be written - return (AliITSdigitSSD *)((*fDigits)[GetDigitIndex(idx)]); - } - Int_t GetDigitIndex (Int_t digit) { - // comment to be written - return (*fDigitsIndex)[digit]; - } - Int_t GetDigitStripNo(Int_t digit); - Int_t GetFirstDigitStripNo(){ - // comment to be written - return GetDigitStripNo(0); - } - Int_t GetLastDigitStripNo(){ - // comment to be written - return GetDigitStripNo(fNDigits-1); - } - Int_t SplitCluster(Int_t where,Int_t *outdigits); //splits this one side cluster for two - void AddCross(Int_t clIndex); //Add index of cluster that it crosses with - Int_t GetCross(Int_t crIndex); //return index of cluster that it crosses with - Int_t GetCrossNo() { - // Returns number of crosses - return fNCrosses; - } - void DelCross(Int_t index); - - Double_t GetPosition(); - Double_t GetPositionError(); - Float_t GetTotalSignal(); - Float_t GetTotalSignalError(); - void CutTotalSignal(Float_t sx) { +class AliITSclusterSSD : public TObject{ + public: + AliITSclusterSSD(); //Default Constructor + virtual ~AliITSclusterSSD(); + AliITSclusterSSD(Int_t ndigits, Int_t *DigitIndexes, + TObjArray *Digits, Bool_t side); + AliITSclusterSSD(const AliITSclusterSSD &source); + AliITSclusterSSD& operator=( const AliITSclusterSSD & source); + void AddDigit(Int_t index){//adds on digit + (*fDigitsIndex)[fNDigits++]=index;} + TObjArray* GetPointer2Digits(){return fDigits;}// comment to be written + void SetPointer2Digits(TObjArray *digits){// comment to be written + fDigits = digits;} + Int_t GetNumOfDigits() const {//Returns number of digits that creates this cluster + return fNDigits;} + Int_t GetDigitSignal(Int_t digit); + AliITSdigitSSD *GetDigit(Int_t idx) { // comment to be written + return (AliITSdigitSSD *)((*fDigits)[GetDigitIndex(idx)]);} + Int_t GetDigitIndex (Int_t digit) const {// comment to be written + return (*fDigitsIndex)[digit];} + Int_t GetDigitStripNo(Int_t digit); // comment to be written - if (fTotalSignal>sx) fTotalSignal-=sx; - } - - Bool_t GetRightNeighbour() const { - // comment to be written - return fRightNeighbour; - } - Bool_t GetLeftNeighbour() const { - // comment to be written - return fLeftNeighbour; - } - void SetRightNeighbour(Bool_t nei) { - // comment to be written - fRightNeighbour=nei; - } - void SetLeftNeighbour(Bool_t nei) { - // comment to be written - fLeftNeighbour=nei; - } - Bool_t GetSide(){ - // comment to be written - return fSide; - } - Int_t CheckSatus(Int_t *tracks){ - //check if digits comes from the same track - return 0; - } - Int_t *GetTracks(Int_t &nt); - void Consume(){ - // comment - fConsumed = kTRUE; - } - Bool_t IsConsumed() const{ - // comment - return fConsumed; - } - Bool_t IsCrossingWith(Int_t idx); - -protected: - - Bool_t fSide; //True if P - TObjArray *fDigits; //Pointer to List of Digitsbelonging to AliITS - - Int_t fNDigits; //Number of digits that make up that cluster - TArrayI *fDigitsIndex; // Digit indexes in fDigits array - - Int_t fNCrosses; //Number of crossed one side clusters on the other siede - // (max 8 : it is not aribtrary) - TArrayI *fCrossedClusterIndexes; //Array of inedexes of crossed clusters (in TClonesArray) - // not in TArrayI in package - - Bool_t fLeftNeighbour; // comment to be written - Bool_t fRightNeighbour; // comment to be written - Bool_t fConsumed; // comment to be written - - Float_t fTotalSignal; // comment to be written - Int_t fTrack[10]; // comment to be written - Int_t fNTrack; // comment to be written - - Double_t CentrOfGravity(); - Double_t EtaAlgorithm(); - -private: - -/*************************************/ -/*************************************/ - ClassDef(AliITSclusterSSD,1) + Int_t GetFirstDigitStripNo(){return GetDigitStripNo(0);} + Int_t GetLastDigitStripNo(){// comment to be written + return GetDigitStripNo(fNDigits-1);} + //splits this one side cluster for two + Int_t SplitCluster(Int_t where,Int_t *outdigits); + void AddCross(Int_t clIndex); //Add index of cluster that it crosses with + //return index of cluster that it crosses with + Int_t GetCross(Int_t crIndex) const ; + Int_t GetCrossNo() const {// Returns number of crosses + return fNCrosses;} + void DelCross(Int_t index); + Double_t GetPosition(); + Double_t GetPositionError() const; + Float_t GetTotalSignal(); + Float_t GetTotalSignalError(); + void CutTotalSignal(Float_t sx) {// comment to be written + if (fTotalSignal>sx) fTotalSignal-=sx;} + Bool_t GetRightNeighbour() const {// comment to be written + return fRightNeighbour;} + Bool_t GetLeftNeighbour() const {// comment to be written + return fLeftNeighbour;} + void SetRightNeighbour(Bool_t nei) {// comment to be written + fRightNeighbour=nei;} + //comment to be written + void SetLeftNeighbour(Bool_t nei){fLeftNeighbour=nei;} + void SetNTracks(Int_t ntracks) {fNTracks=ntracks;}// set ntracks + Int_t GetNTracks() const {return fNTracks;}// comment to be written + Bool_t GetSide() const {return fSide;}// comment to be written + Int_t CheckSatus(Int_t *) const {return 0;}//check if dig's comes from same track + Int_t *GetTracks(Int_t &nt); + void Consume(){// comment + fConsumed = kTRUE;} + Bool_t IsConsumed() const{// comment + return fConsumed;} + Bool_t IsCrossingWith(Int_t idx) const; + protected: + Bool_t fSide; //True if P + TObjArray *fDigits; //Pointer to List of Digitsbelonging to AliITS + Int_t fNDigits; //Number of digits that make up that cluster + TArrayI *fDigitsIndex; // Digit indexes in fDigits array + Int_t fNCrosses; //Number of crossed one side clusters on the + // other side (max 8 : it is not aribtrary) + TArrayI *fCrossedClusterIndexes; //Array of inedexes of crossed clusters + // (in TClonesArray) + // not in TArrayI in package + Bool_t fLeftNeighbour; // comment to be written + Bool_t fRightNeighbour; // comment to be written + Bool_t fConsumed; // comment to be written + Float_t fTotalSignal; // comment to be written + Int_t fTrack[10]; // comment to be written + Int_t fNTracks; // comment to be written + + Double_t CentrOfGravity(); + Double_t EtaAlgorithm(); + ClassDef(AliITSclusterSSD,1) // Cluster class for reconstructing SSD }; #endif