00001 // $Id: TowerBoundaries.h,v 1.2 2001/05/23 13:19:47 burnett Exp $ 00002 // 00003 // Original author: Sawyer Gillespie 00004 // hgillesp@u.washington.edu 00005 // 00006 00007 #ifndef _H_TowerBoundaries_reconstruction_ 00008 #define _H_TowerBoundaries_reconstruction_ 00009 00010 // include super-class 00011 #include "reconstruction/ReconAnalysis.h" 00012 00013 // forward declarations 00014 class GFTrack; 00015 00016 // class TowerBoundaries 00025 class TowerBoundaries : public ReconAnalysis { 00026 public: 00027 00028 // class Result 00029 // This encapsulates the result for the TowerBoundaries 00030 // analysis. 00031 class Result : public ReconAnalysis::Result { 00032 public: 00033 // constructor 00034 Result ( double _border, double _fitxv, double _fityv ); 00035 00036 // destructor 00037 virtual ~Result () {} 00038 00039 // access the track veto border 00040 double border () const; 00041 00042 // access the x-sigma ? 00043 double fitxv () const; 00044 00045 // access the y-sigma ? 00046 double fityv () const; 00047 00048 protected: 00049 // set the veto border 00050 void border ( double ); 00051 00052 // set the x-sigma ? 00053 void fitxv ( double ); 00054 00055 // set the y-sigma ? 00056 void fityv ( double ); 00057 00058 // declare TowerBoundaries a friend 00059 friend class TowerBoundaries; 00060 00061 private: 00062 double m_trkborder; // storage of the veto border 00063 double m_fitxv; // storage of the x-sigma 00064 double m_fityv; // storage of the y-sigma 00065 }; 00066 00067 // construction 00068 TowerBoundaries (GlastRecon*); 00069 00070 // destructor 00071 virtual ~TowerBoundaries (); 00072 00073 // perform the computation 00074 virtual void compute (); 00075 00076 // access the Result 00077 const Result* result () const; 00078 00079 protected: 00080 // set up data storage iterators 00081 virtual void setUpData (); 00082 00083 private: 00084 // data members 00085 00086 LbldData::iterator i_Tower_Bnd; // the tower boundary parameter 00087 LbldData::iterator i_Fit_xv; // x border parameter 00088 LbldData::iterator i_Fit_yv; // y border parameter 00089 }; 00090 00091 // inline declarations 00092 00093 // TowerBoundaries::Result class 00094 00095 inline TowerBoundaries::Result::Result ( double _border, double _fitxv, double _fityv ) 00096 : m_trkborder (_border), m_fitxv (_fitxv), m_fityv (_fityv) 00097 { 00098 } 00099 00100 inline double TowerBoundaries::Result::border () const 00101 { 00102 return m_trkborder; 00103 } 00104 00105 inline double TowerBoundaries::Result::fitxv () const 00106 { 00107 return m_fitxv; 00108 } 00109 00110 inline double TowerBoundaries::Result::fityv () const 00111 { 00112 return m_fityv; 00113 } 00114 00115 inline void TowerBoundaries::Result::border ( double c ) 00116 { 00117 m_trkborder = c; 00118 } 00119 00120 inline void TowerBoundaries::Result::fitxv ( double s ) 00121 { 00122 m_fitxv = s; 00123 } 00124 00125 inline void TowerBoundaries::Result::fityv ( double s ) 00126 { 00127 m_fityv = s; 00128 } 00129 00130 // TowerBoundaries class 00131 00132 inline const TowerBoundaries::Result* TowerBoundaries::result () const 00133 { 00134 return static_cast<const Result*>(ReconAnalysis::result()); 00135 } 00136 00137 #endif // _H_TowerBoundaries_reconstruction_
1.2.3 written by Dimitri van Heesch,
© 1997-2000