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

TrackerVeto.h

Go to the documentation of this file.
00001 // $Id: TrackerVeto.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_TrackerVeto_reconstruction_
00008 #define _H_TrackerVeto_reconstruction_
00009 
00010 // include super-class
00011 #include "reconstruction/ReconAnalysis.h"
00012 
00013 // forward declarations
00014 class   GFTrack;
00015 
00016 // class TrackerVeto
00025 class   TrackerVeto : public ReconAnalysis {
00026 public:
00027     
00028     // class Result
00029     //  This encapsulates the result for the TrackerVeto
00030     //  analysis.
00031     class   Result : public ReconAnalysis::Result {
00032     public:
00033         // constructor
00034         Result ( float _code, double _xsigma, double _ysigma );
00035         
00036         // destructor
00037         virtual ~Result () {}
00038         
00039         // access the track veto code
00040         float   code () const;
00041         
00042         // access the x-sigma ?
00043         double  xsigma () const;
00044 
00045         // access the y-sigma ?
00046         double  ysigma () const;
00047         
00048     protected:
00049         // set the veto code
00050         void    code ( float );
00051 
00052         // set the x-sigma ?
00053         void    xsigma ( double );
00054 
00055         // set the y-sigma ?
00056         void    ysigma ( double );
00057 
00058         // declare TrackerVeto a friend
00059         friend class TrackerVeto;
00060         
00061     private:
00062         float   m_vetocode; // storage of the veto code
00063         double  m_xsigma;   // storage of the x-sigma
00064         double  m_ysigma;   // storage of the y-sigma
00065     };
00066     
00067     // construction
00068     TrackerVeto (GlastRecon*);
00069     
00070     // destructor
00071     virtual ~TrackerVeto ();
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 the various data storage iterators
00081     virtual void    setUpData ();    
00082 
00083 private:
00084     // data members
00085     
00086     LbldData::iterator i_trkVeto_code;     // the veto code for the track
00087                                                         // ACD co-incidence
00088     LbldData::iterator i_trkVeto_Xsigma;   // sigma X ?
00089     LbldData::iterator i_trkVeto_Ysigma;   // sigma Y ?
00090 };
00091 
00092 // inline declarations
00093 
00094 // TrackerVeto::Result class
00095 
00096 inline TrackerVeto::Result::Result ( float _code, double _xsigma, double _ysigma )
00097 : m_vetocode (_code), m_xsigma (_xsigma), m_ysigma (_ysigma)
00098 {
00099 }
00100 
00101 inline float TrackerVeto::Result::code () const 
00102 {
00103     return m_vetocode;
00104 }
00105 
00106 inline double TrackerVeto::Result::xsigma () const
00107 {
00108     return m_xsigma;
00109 }
00110 
00111 inline double TrackerVeto::Result::ysigma () const
00112 {
00113     return m_ysigma;
00114 }
00115 
00116 inline void TrackerVeto::Result::code ( float c )
00117 {
00118     m_vetocode = c;
00119 }
00120 
00121 inline void TrackerVeto::Result::xsigma ( double s )
00122 {
00123     m_xsigma = s;
00124 }
00125 
00126 inline void TrackerVeto::Result::ysigma ( double s )
00127 {
00128     m_ysigma = s;
00129 }
00130 
00131 // TrackerVeto class
00132 
00133 inline const TrackerVeto::Result*  TrackerVeto::result () const
00134 {
00135     return static_cast<const Result*>(ReconAnalysis::result());
00136 }
00137 
00138 #endif  // _H_TrackerVeto_reconstruction_

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