00001
00002
00003
00004
00005
00006
00007 #ifndef _H_ExtraHits_reconstruction_
00008 #define _H_ExtraHits_reconstruction_
00009
00010
00011 #include "reconstruction/ReconAnalysis.h"
00012
00013
00014 class GFTrack;
00015
00016
00027 class ExtraHits : public ReconAnalysis {
00028 public:
00029
00030
00031
00032
00033 class Result : public ReconAnalysis::Result {
00034 public:
00035
00036 Result ( double _sumHits, double _norma, double _istHitCount
00037 , double _outHits, double _shwHits1, double shwHits2 );
00038
00039
00040 virtual ~Result () {}
00041
00042
00043 double sumHits () const;
00044
00045
00046 double normalization () const;
00047
00048
00049 double firstHitCount () const;
00050
00051
00052 double outsideHits () const;
00053
00054
00055 double showerHits1 () const;
00056
00057
00058 double showerHits2 () const;
00059
00060 protected:
00061
00062 void sumHits ( double );
00063
00064
00065 void normalization ( double );
00066
00067
00068 void firstHitCount ( double );
00069
00070
00071 void outsideHits ( double );
00072
00073
00074 void showerHits1 ( double );
00075
00076
00077 void showerHits2 ( double );
00078
00079
00080 friend class ExtraHits;
00081
00082 private:
00083 double m_sumHits;
00084 double m_norma;
00085 double m_istHitCount;
00086 double m_outHits;
00087 double m_shwHits1;
00088 double m_shwHits2;
00089 };
00090
00091
00092 ExtraHits (GlastRecon*);
00093
00094
00095 virtual ~ExtraHits ();
00096
00097
00098 virtual void compute ();
00099
00100
00101 const Result* result () const;
00102
00103 protected:
00104
00105 virtual void setUpData ();
00106
00107 private:
00108
00109
00110 LbldData::iterator i_1st_count;
00111 LbldData::iterator i_srp_hit_rat;
00112 LbldData::iterator i_out_hit_rat;
00113 LbldData::iterator i_No_SHits;
00114 LbldData::iterator i_ShowerHits1;
00115 LbldData::iterator i_ShowerHits2;
00116 };
00117
00118
00119
00120
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
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_