Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

ExtraHits.h

Go to the documentation of this file.
00001 // $Id: ExtraHits.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_ExtraHits_reconstruction_
00008 #define _H_ExtraHits_reconstruction_
00009 
00010 // include super-class
00011 #include "reconstruction/ReconAnalysis.h"
00012 
00013 // forward declarations
00014 class   GFTrack;
00015 
00016 // class ExtraHits
00027 class   ExtraHits : public ReconAnalysis {
00028 public:
00029     
00030     // class Result
00031     //  This encapsulates the result for the ExtraHits
00032     //  analysis.
00033     class   Result : public ReconAnalysis::Result {
00034     public:
00035         // constructor
00036         Result ( double _sumHits, double _norma, double _istHitCount
00037                , double _outHits, double _shwHits1, double shwHits2 );
00038         
00039         // destructor
00040         virtual ~Result () {}
00041         
00042         // total number of hits in the shower
00043         double  sumHits () const;
00044 
00045         // hit normalization
00046         double  normalization () const;
00047 
00048         // first hit count
00049         double  firstHitCount () const;
00050 
00051         // number of outside hits
00052         double  outsideHits () const;
00053 
00054         // number of hits in first prong of the shower
00055         double  showerHits1 () const;
00056 
00057         // number of hits in second pronf of the shower
00058         double  showerHits2 () const;
00059 
00060     protected:
00061         // set the sumHits
00062         void    sumHits ( double );
00063 
00064         // set the normalization
00065         void    normalization ( double );
00066 
00067         // set the first hit count
00068         void    firstHitCount ( double );
00069 
00070         // set the number of hits outside
00071         void    outsideHits ( double );
00072 
00073         // set the number of hits in the first prong
00074         void    showerHits1 ( double );
00075 
00076         // set the number of hits in the second prong
00077         void    showerHits2 ( double );
00078 
00079         // declare ExtraHits a friend
00080         friend class ExtraHits;
00081         
00082     private:
00083         double  m_sumHits;       // sum of all hits in the shower
00084         double  m_norma;         // normalization
00085         double  m_istHitCount;   // first-hit-count
00086         double  m_outHits;       // num hits outside ?
00087         double  m_shwHits1;      // shower hits from prong 1 ?
00088         double  m_shwHits2;      // shower hits from prong 2 ?
00089     };
00090     
00091     // construction
00092     ExtraHits (GlastRecon*);
00093     
00094     // destructor
00095     virtual ~ExtraHits ();
00096     
00097     // perform the computation
00098     virtual void    compute ();
00099 
00100     // access the Result
00101     const Result*   result () const;
00102         
00103 protected:
00104     // set up data storage iterators
00105     virtual void    setUpData ();
00106         
00107 private:
00108     // data members
00109     
00110     LbldData::iterator i_1st_count;    // first-hit-count
00111     LbldData::iterator i_srp_hit_rat;  // surplus-hit-ratio
00112     LbldData::iterator i_out_hit_rat;  // outside-hit-ratio
00113     LbldData::iterator i_No_SHits;     // number of hits in the shower
00114     LbldData::iterator i_ShowerHits1;  // number of hits in prong 1 ?
00115     LbldData::iterator i_ShowerHits2;  // number of hits in prong 2 ?
00116 };
00117 
00118 // inline declarations
00119 
00120 // ExtraHits::Result class
00121 
00122 inline ExtraHits::Result::Result ( double _sumHits, double _norma, double _istHitCount
00123                                  , double _outHits, double _shwHits1, double _shwHits2 )
00124 : m_sumHits(_sumHits), m_norma(_norma), m_istHitCount(_istHitCount)
00125 , m_outHits(_outHits), m_shwHits1(_shwHits1), m_shwHits2(_shwHits2)
00126 {
00127 }
00128 
00129 inline double ExtraHits::Result::sumHits () const 
00130 {
00131     return m_sumHits;
00132 }
00133 
00134 inline double ExtraHits::Result::normalization () const
00135 {
00136     return m_norma;
00137 }
00138 
00139 inline double ExtraHits::Result::firstHitCount () const
00140 {
00141     return m_istHitCount;
00142 }
00143 
00144 inline double ExtraHits::Result::outsideHits () const
00145 {
00146     return m_outHits;
00147 }
00148 
00149 inline double ExtraHits::Result::showerHits1 () const
00150 {
00151     return m_shwHits1;
00152 }
00153 
00154 inline double ExtraHits::Result::showerHits2 () const
00155 {
00156     return m_shwHits2;
00157 }
00158 
00159 inline void ExtraHits::Result::sumHits ( double s )
00160 {
00161     m_sumHits = s;
00162 }
00163 
00164 inline void ExtraHits::Result::normalization ( double s )
00165 {
00166     m_norma = s;
00167 }
00168 
00169 inline void ExtraHits::Result::firstHitCount ( double s )
00170 {
00171     m_istHitCount = s;
00172 }
00173 
00174 inline void ExtraHits::Result::outsideHits ( double s )
00175 {
00176     m_outHits = s;
00177 }
00178 
00179 inline void ExtraHits::Result::showerHits1 ( double s )
00180 {
00181     m_shwHits1 = s;
00182 }
00183 
00184 inline void ExtraHits::Result::showerHits2 ( double s )
00185 {
00186     m_shwHits2 = s;
00187 }
00188 
00189 // ExtraHits class
00190 
00191 inline const ExtraHits::Result*  ExtraHits::result () const
00192 {
00193     return static_cast<const Result*>(ReconAnalysis::result());
00194 }
00195 
00196 #endif  // _H_ExtraHits_reconstruction_

Generated at Wed Nov 21 12:20:43 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000