00001 #ifndef XANAPreshowerInfo_h 00002 #define XANAPreshowerInfo_h 00003 00010 class XANASuperCluster; 00011 00012 #include <CLHEP/Geometry/Point3D.h> 00013 #include <TObject.h> 00014 #include <TRef.h> 00015 #include <Rtypes.h> 00016 00017 using namespace HepGeom; 00018 00019 class XANAPreshowerInfo : public TObject { 00020 00021 public: 00022 00023 XANAPreshowerInfo(); 00025 XANAPreshowerInfo(Float_t firstPlaneEnergy, Float_t secondPlaneEnergy, 00026 HepPoint3D firstPlanePosition, HepPoint3D secondPlanePosition, 00027 Float_t firstPlaneCalibrationFactor, Float_t secondPlaneCalibrationFactor, 00028 Float_t preshowerCalibrationFactor); 00029 virtual ~XANAPreshowerInfo(); 00030 00031 // data access methods 00032 Float_t getFirstPlaneEnergy() const {return firstPlaneEnergy_;} 00033 Float_t getSecondPlaneEnergy() const {return secondPlaneEnergy_;} 00034 HepPoint3D getFirstPlanePosition() const {return firstPlanePosition_;} 00035 HepPoint3D getSecondPlanePosition() const {return secondPlanePosition_;} 00036 Float_t getFirstPlaneCalibrationFactor() const {return firstPlaneCalibrationFactor_;} 00037 Float_t getSecondPlaneCalibrationFactor() const {return secondPlaneCalibrationFactor_;} 00038 Float_t getPreshowerCalibrationFactor() const {return preshowerCalibrationFactor_;} 00039 00040 // set methods 00041 void setFirstPlaneEnergy(Float_t firstPlaneEnergy) {firstPlaneEnergy_=firstPlaneEnergy;} 00042 void setSecondPlaneEnergy(Float_t secondPlaneEnergy) {secondPlaneEnergy_=secondPlaneEnergy;} 00043 void setFirstPlanePosition(HepPoint3D firstPlanePosition) {firstPlanePosition_=firstPlanePosition;} 00044 void setSecondPlanePosition(HepPoint3D secondPlanePosition) {secondPlanePosition_=secondPlanePosition;} 00045 void setFirstPlaneCalibrationFactor(Float_t firstPlaneCalibrationFactor) { 00046 firstPlaneCalibrationFactor_=firstPlaneCalibrationFactor; 00047 } 00048 void setSecondPlaneCalibrationFactor(Float_t secondPlaneCalibrationFactor) { 00049 secondPlaneCalibrationFactor_=secondPlaneCalibrationFactor; 00050 } 00051 void setPreshowerCalibrationFactor(Float_t preshowerCalibrationFactor) { 00052 preshowerCalibrationFactor_=preshowerCalibrationFactor; 00053 } 00054 00055 // relationships 00056 void setSuperCluster(XANASuperCluster *super); 00057 XANASuperCluster * getSuperCluster() const {return (XANASuperCluster *)(superCluster_.GetObject());} 00058 00060 Bool_t IsUsed() const {return locked_;} 00061 00062 protected: 00063 00065 Float_t firstPlaneEnergy_; 00067 Float_t secondPlaneEnergy_; 00069 HepPoint3D firstPlanePosition_; 00071 HepPoint3D secondPlanePosition_; 00073 Float_t firstPlaneCalibrationFactor_; 00075 Float_t secondPlaneCalibrationFactor_; 00077 Float_t preshowerCalibrationFactor_; 00078 00080 TRef superCluster_; 00081 00082 private: 00083 00084 Bool_t locked_; 00085 void lock() {locked_ = true;} 00086 void unlock() { locked_ = false;} 00087 00088 ClassDef(XANAPreshowerInfo,1) 00089 00090 }; 00091 00092 #endif 00093 00094 00095 00096 00097 00098 00099