X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliTPCclusterMI.h;h=47292f6b579f263635ac8dd2f4cf27eaa3de7739;hb=996014d013d64f991aa2703583055c6555fb98d9;hp=40e7c7eb46e47678606af6582e896021f0f911e1;hpb=6c024a0e3ec23e58ab5ebb92466dec3bf801fbc9;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliTPCclusterMI.h b/TPC/AliTPCclusterMI.h index 40e7c7eb46e..47292f6b579 100644 --- a/TPC/AliTPCclusterMI.h +++ b/TPC/AliTPCclusterMI.h @@ -12,16 +12,26 @@ #include "AliCluster.h" #include "TMath.h" - +#include "AliTPCclusterInfo.h" //_____________________________________________________________________________ class AliTPCclusterMI : public AliCluster { public: - AliTPCclusterMI():AliCluster(){fQ=0; fUsed=0;} - AliTPCclusterMI(Int_t *lab, Float_t *hit) : AliCluster(lab,hit) {fQ = (UShort_t)hit[4];} - virtual ~AliTPCclusterMI() {} + AliTPCclusterMI(); + AliTPCclusterMI(const AliTPCclusterMI & cluster); + AliTPCclusterMI &operator = (const AliTPCclusterMI & cluster); //assignment operator + AliTPCclusterMI(Int_t *lab, Float_t *hit); + virtual ~AliTPCclusterMI(); + virtual void Clear(const Option_t*) { delete fInfo; fInfo=0;} virtual Bool_t IsSortable() const; virtual Int_t Compare(const TObject* obj) const; inline void Use(Int_t inc=10); + virtual Int_t GetDetector() const {return fDetector;} + virtual Int_t GetRow() const {return fRow;} + virtual void SetDetector(Int_t detector); + virtual void SetRow(Int_t row){fRow = (UChar_t)(row%256);} + virtual void SetTimeBin(Float_t timeBin){ fTimeBin= timeBin;} + virtual void SetPad(Float_t pad){ fPad = pad;} + // void SetQ(Float_t q) {fQ=(UShort_t)q;} void SetType(Char_t type) {fType=type;} void SetMax(UShort_t max) {fMax=max;} @@ -29,13 +39,22 @@ public: Float_t GetQ() const {return TMath::Abs(fQ);} Float_t GetMax() const {return fMax;} Char_t GetType()const {return fType;} - + Float_t GetTimeBin() const { return fTimeBin;} + Float_t GetPad() const { return fPad;} + AliTPCclusterInfo * GetInfo() const { return fInfo;} + void SetInfo(AliTPCclusterInfo * info); + private: + AliTPCclusterInfo * fInfo; // pointer to the cluster debug info + Float_t fTimeBin; //time bin coordinate + Float_t fPad; //pad coordinate Short_t fQ ; //Q of cluster (in ADC counts) - Char_t fType; //type of the cluster 0 means golden Short_t fMax; //maximal amplitude in cluster + Char_t fType; //type of the cluster 0 means golden Char_t fUsed; //counter of usage - ClassDef(AliTPCclusterMI,1) // Time Projection Chamber clusters + UChar_t fDetector; //detector number + UChar_t fRow; //row number number + ClassDef(AliTPCclusterMI,5) // Time Projection Chamber clusters }; void AliTPCclusterMI::Use(Int_t inc) @@ -45,40 +64,6 @@ void AliTPCclusterMI::Use(Int_t inc) fUsed=0; } -class AliTPCclusterLMI { - -public: - AliTPCclusterLMI(){fCZ=fCY=fSigmaZ=fSigmaY=fQ=fMax=fCType=0;} - Float_t GetZ() const {return (fCZ*0.01);} - Float_t GetY() const {return (fCY*0.01);} - Float_t GetSigmaZ() const {return (fSigmaZ*0.02);} - Float_t GetSigmaY() const {return (fSigmaY*0.02);} - Int_t GetType() const {return fCType;} - Int_t GetMax() const {return fMax;} - Float_t GetQ() const {return fQ;} - Int_t GelLabel(Int_t i) const {return fLabel[i];} - // - void SetY(Float_t y){ fCY = (UShort_t)(TMath::Nint(y*100.));} - void SetZ(Float_t z){ fCZ = (UShort_t)(TMath::Nint(z*100.));} - void SetSigmaZ(Float_t sigmaz) {fSigmaZ = (UChar_t)(TMath::Nint(sigmaz*50.));} - void SetSigmaY(Float_t sigmay) {fSigmaY = (UChar_t)(TMath::Nint(sigmay*50.));} - void SetQ(Float_t q) {fQ = (UShort_t)q;} - void SetMax(Float_t max) {fMax = (UShort_t)max;} - void SetType(Char_t type) {fCType = type;} - void SetLabels(Int_t labels[3]){fLabel[0] = labels[0];fLabel[1] = labels[1];fLabel[2] = labels[2];} - -private: - Short_t fCZ; // current cluster position Z in cm - 100 mum precision - Short_t fCY; // current cluster position Y in cm - 100 mum precision - UChar_t fSigmaZ; // shape Z - normalised shape - normaliziation 1 - precision 2 percent - UChar_t fSigmaY; // shape Y - normalised shape - normaliziation 1 - precision 2 percent - UShort_t fQ; // total charge in cluster - UShort_t fMax; // charge at maximum - Char_t fCType; // type of the cluster - Int_t fLabel[3]; // track indexes - ClassDef(AliTPCclusterLMI,1) -}; - #endif