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

CalRecon.h

Go to the documentation of this file.
00001 //   Reconstruct Events in CsI Data
00002 //    by Jay Norris and Heather Arrighi Muise
00003 // $Id: CalRecon.h,v 1.5 2001/01/22 15:53:55 burnett Exp $
00004 
00005 #ifndef __CAL_RECON_H
00006 #define __CAL_RECON_H 1
00007 
00008 #include "reconstruction/Recon.h"
00009 
00010 #include "geometry/Vector.h"
00011 #include "geometry/Point.h"
00012 
00013 #include <vector>
00014 
00015 class CsIData;
00016 class ReconVisitor;
00017 class CalModules;
00018 namespace gui { class DisplayRep; }
00019 
00020 class CalRecon : public Recon
00021 {
00022 
00023   public:
00024       CalRecon ();
00025 
00026       ~CalRecon ();
00027 
00028 
00029       void getParameters ();
00030 
00031       void accept (ReconVisitor& rv);
00032 
00033       void reconstruct (const CsIData* csiData);
00034 
00035       void clear ();
00036 
00037       void draw (gui::DisplayRep& v);
00038 
00039       void moments_anal (int counter);
00040 
00041       double RLinePnt (Point xPos);
00042 
00043       Point center () { return(m_cen); }
00044 
00045       Vector direction () { return(m_dir); }
00046 
00047           std::vector<double> Get_Elayer() { return E_layer; }
00048 
00049 
00050   private:
00051       unsigned int num_layers;
00052       int s_xNum;
00053 
00054       double mod_width, s_xtal_gap, s_rad_len, s_wall_thickness, s_wall_gap;
00055 
00056           double light_att;
00057       const char* calmat;
00058 
00059       float chisq;
00060 
00061       double  moment[3], moment1, moment2, moment3;
00062 
00063       double m_Rsq_mean;
00064       double eTotal;
00065 
00066       int numXtals, ntothits;
00067 
00068       LbldData::iterator i_CsI_Energy, i_CsI_Etop, i_CsI_Ebottom, i_CsI_Esides, i_CsI_S_or_B;      LbldData::iterator i_CsI_Xtals, i_CsI_mean_X, i_CsI_mean_Y, i_CsI_mean_Z;
00069       LbldData::iterator i_CsI_dir_X, i_CsI_dir_Y, i_CsI_dir_Z, i_CsI_chisq, i_CsI_mips, i_CsI_Xtals_trunc;
00070       LbldData::iterator i_CsI_Xtals_keep, i_CsI_Rsq_mean, i_CsI_D3Mean;
00071       LbldData::iterator i_CsI_E_moment, i_CsI_E_disp, i_CsI_moment1, i_CsI_moment2, i_CsI_moment3;
00072       LbldData::iterator i_CsI_MaxMod, i_CsI_ModXtals;
00073       std::vector<LbldData::iterator>i_CsI_eLayer;
00074       LbldData::iterator i_Diode_Energy;
00075 
00076     // Data Members for Associations
00077 
00078       CalModules *calModules;
00079 
00080       Point bCenter;
00081 
00082       Vector principal_axis[3];
00083 
00084       Point m_cen;
00085 
00086       Vector m_dir;
00087 
00088       //        new list to keep track of positions using
00089       //        left and right response of the ends of the logs
00090       std::vector<int>Use_R;
00091       std::vector<int>numlayhits;
00092       std::vector<double>E_hits;
00093       std::vector<double>E_layer;
00094 
00095       std::vector< std::vector< class Point >* > LRpos;
00096       std::vector <char*> layerLabel;
00097 
00098 };
00099 
00100 
00101 #endif

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