00001 #ifndef XANAEmCluster_h 00002 #define XANAEmCluster_h 00003 00011 #include <XANADOO/XANAClusters/interface/XANACluster.h> 00012 #include <CLHEP/Geometry/Point3D.h> 00013 #include <TObject.h> 00014 #include <TClonesArray.h> 00015 #include <TRefArray.h> 00016 #include <TRef.h> 00017 #include <Rtypes.h> 00018 #include <vector> 00019 #include <string> 00020 00021 class XANACaloRecHit; 00022 class XANASuperCluster; 00023 00024 class XANAEmCluster : public XANACluster { 00025 00026 public: 00027 00028 XANAEmCluster(); 00030 XANAEmCluster(Float_t energy, HepPoint3D position, HepPoint3D uncorrectedFrontFacePosition, 00031 Float_t chi2, std::string algoName); 00032 XANAEmCluster(const XANAEmCluster &right); 00033 virtual ~XANAEmCluster(); 00034 00035 // data access methods 00036 Float_t getChi2() const {return chi2_;} 00037 HepPoint3D getUncorrectedFrontFacePosition() const {return uncorrectedFrontFacePosition_;} 00038 std::string getAlgoName() const {return std::string(algoName_);} 00039 char *getCharAlgoName() const {return algoName_;} 00040 TRefArray * getEmClusterHits() const {return recHits_;} 00041 00042 // set methods 00043 void setChi2(Float_t chi2) {chi2_=chi2;} 00044 void setUncorrectedFrontFacePosition(HepPoint3D position) {uncorrectedFrontFacePosition_=position;} 00045 void setAlgoName(std::string algoName) {strcpy(algoName_,algoName.c_str());} 00046 00047 // relationships 00048 XANASuperCluster *getSuperCluster() const {return (XANASuperCluster *)(superCluster_.GetObject());} 00049 void setSuperCluster(XANASuperCluster *super, Int_t iflag); 00050 00051 // operators 00052 const XANAEmCluster & operator=(const XANAEmCluster &right); 00053 Bool_t virtual operator==(const XANAEmCluster&) const; 00054 00055 // access to caloRecHits 00056 00057 protected: 00058 00060 HepPoint3D uncorrectedFrontFacePosition_; 00062 Float_t chi2_; 00064 TRef superCluster_; 00066 Int_t algoLen_; 00067 char * algoName_;//[algoLen_] 00068 00069 private: 00070 static const Int_t strLen_; 00071 00072 ClassDef(XANAEmCluster,1) 00073 00074 }; 00075 00076 #endif 00077 00078 00079 00080 00081 00082 00083