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

VetoRecon.h

Go to the documentation of this file.
00001 /*   $Header: /nfs/slac/g/glast/ground/cvs/reconstruction/reconstruction/VetoRecon.h,v 1.6 2001/01/22 15:53:55 burnett Exp $   */
00002 //
00003 // File: VetoRecon.h
00004 //
00005 // Contents ----------------------------------------------------
00006 //
00007 //   VetoRecon
00008 //
00009 // Comments
00010 //   Reconstruct Events in CsI Data
00011 //
00012 // Revision:
00013 //   September 3, 1997    Heather Arrighi Muise
00014 //   Keeping track of which veto tiles are hit and store
00015 //   this information in the ntuple file
00016 //   Added these elements:
00017 //     i_vto_vkeep
00018 //
00019 // End ---------------------------------------------------------
00020 
00021 // Interface Dependencies -------------------------------------------------
00022 
00023 #ifndef __VETO_RECON_H
00024 #define __VETO_RECON_H 1
00025 
00026 #include "reconstruction/Recon.h"
00027 
00028 #include "data/IVetoData.h"
00029 
00030 class CalRecon;
00031 class Ray;
00032 class ReconVistor;
00033 class TrackerRecon;
00034 class IVetoData;
00035 
00036 class VetoRecon : public Recon  //## Inherits: <unnamed>
00037 {
00038   public:
00039       VetoRecon (CalRecon* cal, TrackerRecon* trk);
00040 
00041       void getParameters ();
00042 
00043       void accept (ReconVisitor& rv);
00044 
00045       void reconstruct (const IVetoData* v);
00046 
00047       void clear ();
00048 
00049       void draw (gui::DisplayRep& v);
00050 
00051       float vetoDOCAFor (const Ray& t, double &top, double &s1, double &s2, double &s3);
00052 
00053     // Additional Public Declarations
00054  
00055   protected:
00056     // Additional Protected Declarations
00057  
00058   private:
00059 
00060       void TriggeredTowers(IVetoData::Id tile_id, int *trkKeep);
00061 
00062     // Data Members for Class Attributes
00063       
00064       // index numbers into the ntuple
00065       LbldData::iterator i_vto_Sys, i_vto_Energy, i_vto_Count;
00066       LbldData::iterator i_vto_vkeep, i_vto_TkrKeep, i_vto_DOCA;
00067       LbldData::iterator i_vto_TKR_E;
00068       LbldData::iterator i_vto_DOCA_TOP, i_vto_DOCA_S1, i_vto_DOCA_S2, i_vto_DOCA_S3;
00069 
00070       static double threshold_energy, tile_width_x, tile_width_y;
00071       static const unsigned int firstModId;
00072       static unsigned int lastModId;
00073 
00074     // Data Members for Associations
00075 
00076       const IVetoData *vetoData;
00077       CalRecon *cal;
00078       TrackerRecon *track;
00079 
00080       // record of the tile with the minimum Distance of Closest Approach
00081       IVetoData::Tile m_hit_tile;
00082       float m_DOCA;
00083 };
00084 
00085 #endif

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