1 #ifndef AliPHOSDATreeCluster_H
2 #define AliPHOSDATreeCluster_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
10 // Implementation for TTree output in PHOS DA
11 // for calibrating energy by pi0 and MIP.
13 // -- Author: Hisayuki Torii (Hiroshima Univ.)
17 #include "AliPHOSDATreeDigit.h"
19 class AliPHOSDATreeCluster{
21 friend std::ostream& operator<<(std::ostream& out,const AliPHOSDATreeCluster& cluster);
25 //AliPHOSDATreeCluster():fEnergy(0),fX(0),fY(0),fZ(0),fNDigits(0),fDigits(0){/**/};
26 //AliPHOSDATreeCluster(float energy,float x,float y,float z):fEnergy(energy),fX(x),fY(y),fZ(z),fNDigits(0),fDigits(0){/**/};
27 //void Set(float energy,float x,float y,float z){fEnergy=energy; fX=x; fY=y; fZ=z;};
28 //float GetX(){ return fX; };
29 //float GetY(){ return fY; };
30 //float GetZ(){ return fZ; };
31 AliPHOSDATreeCluster():fEnergy(0),fRow(-100),fCol(-100),fNDigits(0),fDigits(0){/**/};
32 AliPHOSDATreeCluster(float energy,float row,float col):fEnergy(energy),fRow(row),fCol(col),fNDigits(0),fDigits(0){/**/};
33 virtual ~AliPHOSDATreeCluster(){ if(fNDigits>0) delete[] fDigits; };
34 AliPHOSDATreeCluster(const AliPHOSDATreeCluster& cluster);
35 AliPHOSDATreeCluster& operator=(const AliPHOSDATreeCluster& cluster);
36 void Set(float energy,float row,float col){fEnergy=energy; fRow=row; fCol=col; };
37 void SetEnergy(float energy){fEnergy=energy;};
38 float GetEnergy() const{ return fEnergy; };
39 float GetRow() const{ return fRow; };
40 float GetCol() const{ return fCol; };
41 bool CalculateProperty();
42 int GetNDigits() const{ return fNDigits; };
43 AliPHOSDATreeDigit& GetDigit(int ndigit){
44 return fDigits[ndigit];
46 AliPHOSDATreeDigit& GetMaxDigit(){
49 bool Append(AliPHOSDATreeDigit& digit);
50 bool Append(AliPHOSDATreeCluster& cluster);
51 bool IsNeighbor(const AliPHOSDATreeDigit& digit) const;
52 bool IsNeighbor(const AliPHOSDATreeCluster& cluster) const;
54 void Print(Option_t *option="") const;
58 float fEnergy; // Energy in GeV
59 float fRow; // PHOS Internal Coordinates, 0 - 63
60 float fCol; // PHOS Internal Coordinates, 0 - 55
62 int fNDigits; // Number of digits
63 AliPHOSDATreeDigit* fDigits; //[fNDigits]
65 ClassDef(AliPHOSDATreeCluster,1) // Simple Cluster Structure for PHOS DA