00001 #ifndef CALCLUSTER_H
00002 #define CALCLUSTER_H
00003
00004
00005 #include "TObject.h"
00006 #include "TObjArray.h"
00007 #include "TVector3.h"
00008 #include "TVector2.h"
00009 #include "TArrayF.h"
00011
00013 class CalCluster : public TObject
00014 {
00015
00016 private:
00018 Float_t m_Esum;
00019
00021 Float_t m_Ecorr;
00022
00024 Float_t m_Eleak;
00025
00026
00028
00030
00032
00033
00034
00036
00038
00039
00041 Float_t m_fitEnergy;
00042
00044 Float_t m_ProfChisq;
00045
00047 Float_t m_start;
00048
00049 Int_t m_id;
00050
00052 TVector3 *m_position;
00054 TVector3 *m_direction;
00055
00057 TObjArray *m_calLogs;
00058
00059 public:
00060
00062 CalCluster (Int_t index=0);
00063
00065 virtual ~CalCluster();
00066
00068 void Clean();
00069
00071 void Create();
00072
00074 void setEsum (Float_t ene) { m_Esum = ene; };
00075 Float_t getEsum () { return m_Esum; };
00076
00078 void setEcorr (Float_t ene) { m_Ecorr = ene; };
00079 Float_t getEcorr () { return m_Ecorr; };
00080
00082 void setEleak (Float_t ene) { m_Eleak = ene; };
00083 Float_t getEleak () { return m_Eleak; };
00084
00085
00086
00088 TVector3* getPosition() { return m_position; };
00089 inline void setPosition(TVector3 *p) { m_position = p; };
00090 inline void setPosition(Double_t x, Double_t y, Double_t z) { m_position->SetXYZ(x,y,z); };
00091
00093 TVector3* getDirection() { return m_direction; };
00094 inline void setDirection(TVector3 *d) { m_direction = d; };
00095 inline void setDirection(Double_t x, Double_t y, Double_t z) { m_direction->SetXYZ(x,y,z); };
00096
00098 Float_t getCsiAlpha() { return m_CsiAlpha;}
00099 Float_t getCsiLambda() { return m_CsiLambda;}
00100 Float_t getCsiStart(){ return m_start;}
00101 Float_t getProfChisq(){ return m_ProfChisq;}
00102 Float_t getFitEnergy(){ return m_fitEnergy;}
00103
00104 void setCsiAlpha(Float_t a){m_CsiAlpha = a;}
00105 void setCsiLambda(Float_t l){m_CsiLambda = l;}
00106 void setCsiStart(Float_t s){m_start = s;}
00107 void setFitEnergy(Float_t e){m_fitEnergy = e;}
00108 void setProfChisq(Float_t c){m_ProfChisq = c;}
00109
00110
00111
00113 const TArrayF& getXLayer() const {return m_xposLayer;}
00115 Float_t getXLayer(int i) {return m_xposLayer[i];}
00117 const TArrayF& getYLayer() const {return m_xposLayer;}
00119 Float_t getYLayer(int i) {return m_yposLayer[i];}
00120
00122 const TArrayF& getEneLayer() const {return m_eneLayer;}
00124 Float_t getEneLayer(int i) {return m_eneLayer[i];}
00125
00126 void setEneLayer(int i,Float_t e) {m_eneLayer[i]=e;}
00127 void setXLayer (int i,Float_t x) {m_xposLayer[i]=x;}
00128 void setYLayer (int i,Float_t y) {m_yposLayer[i]=y;}
00129
00131 TObjArray* getCalLog () { return m_calLogs; };
00132
00134 Int_t getId() { return m_id; };
00136 void setId(Int_t id) { m_id = id; };
00137
00138 ClassDef(CalCluster,1)
00139 };
00140
00141
00142 #endif
00143
00144