Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Basic.h

Go to the documentation of this file.
00001 #ifndef ANP_BASIC_H
00002 #define ANP_BASIC_H
00003 
00004 // $Id: Basic.h,v 1.9 2007/11/30 18:00:35 rustem Exp $
00005 //
00006 // Basic information about any reconstructed object
00007 //
00008 
00009 // C++
00010 #include <iostream>
00011 
00012 // ROOT
00013 #include "Rtypes.h"
00014 
00015 namespace Anp
00016 {
00017    class Basic
00018    {
00019    public:
00020       
00021       Basic();
00022       ~Basic();
00023       
00024       short NPlaneSteel() const;
00025       short NPlaneScint() const;
00026 
00027       short NStrip()  const;
00028       short NUStrip() const;
00029       short NVStrip() const;
00030 
00031       short NPlane()  const;
00032       short NUPlane() const;
00033       short NVPlane() const;
00034 
00035       short BegPlane()  const;
00036       short BegUPlane() const;
00037       short BegVPlane() const;
00038 
00039       short EndPlane()  const;
00040       short EndUPlane() const;
00041       short EndVPlane() const;
00042 
00043       float ADC()     const;
00044       float ADCU()    const;
00045       float ADCV()    const;
00046       float PE()      const;
00047       float SigCor()  const;
00048       float SigCorU() const;
00049       float SigCorV() const;
00050       float SigLin()  const;
00051       float SigMap()  const;
00052       float MIP()     const;
00053 
00054       double MinTime() const;
00055       double MaxTime() const;
00056 
00057       float ActiveFrac() const;
00058 
00059       void Clear();
00060 
00061       void Print(std::ostream& o = std::cout) const;
00062 
00063    private:
00064 
00065       friend class FillBasic;
00066 
00067       Short_t nustrip;
00068       Short_t nvstrip;
00069 
00070       Short_t nuplane;
00071       Short_t nvplane;
00072 
00073       Short_t beg_uplane;
00074       Short_t beg_vplane;
00075       Short_t end_uplane;
00076       Short_t end_vplane;
00077 
00078       Float_t adcu;
00079       Float_t adcv;
00080       Float_t pe;
00081       Float_t sigcoru;
00082       Float_t sigcorv;
00083       Float_t siglin;
00084       Float_t sigmap;
00085       Float_t mip;
00086 
00087       Float_t active_frac; // ratio of number of calorimeter scint plane over steel planes
00088       
00089       Double_t max_time;   // earliest strip time (relative to start of timeframe)
00090       Double_t min_time;   // latest strip time (relative to start of timeframe)
00091    };
00092 
00093    //
00094    // Inlined member functions
00095    //
00096    inline short Basic::NPlaneSteel() const { return 1 + EndPlane() - BegPlane(); }
00097    inline short Basic::NPlaneScint() const { return nuplane + nvplane; }
00098 
00099    inline short Basic::NStrip()  const { return nustrip + nvstrip; }
00100    inline short Basic::NUStrip() const { return nustrip; }
00101    inline short Basic::NVStrip() const { return nvstrip; }
00102    
00103    inline short Basic::NPlane()  const { return nuplane + nvplane; }
00104    inline short Basic::NUPlane() const { return nuplane; }
00105    inline short Basic::NVPlane() const { return nvplane; }
00106    
00107    inline short Basic::BegUPlane() const { return beg_uplane; }
00108    inline short Basic::BegVPlane() const { return beg_vplane; }
00109    inline short Basic::EndUPlane() const { return end_uplane; }
00110    inline short Basic::EndVPlane() const { return end_vplane; }
00111 
00112    inline float Basic::ADC()     const { return adcu + adcv; }
00113    inline float Basic::ADCU()    const { return adcu; }
00114    inline float Basic::ADCV()    const { return adcv; }
00115    inline float Basic::PE()      const { return pe; }
00116    inline float Basic::SigCor()  const { return sigcoru + sigcorv; }
00117    inline float Basic::SigCorU() const { return sigcoru; }
00118    inline float Basic::SigCorV() const { return sigcorv; }
00119    inline float Basic::SigLin()  const { return siglin; }
00120    inline float Basic::SigMap()  const { return sigmap; }
00121    inline float Basic::MIP()     const { return mip; }   
00122 
00123    inline double Basic::MinTime() const { return min_time; }
00124    inline double Basic::MaxTime() const { return max_time; }
00125 
00126    inline float Basic::ActiveFrac() const { return active_frac; }
00127 }
00128 
00129 #endif

Generated on Mon Feb 15 11:06:23 2010 for loon by  doxygen 1.3.9.1