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

FiducialCut.h

Go to the documentation of this file.
00001 #ifndef ANP_FIDUCIALCUT_H
00002 #define ANP_FIDUCIALCUT_H
00003 
00004 // $Id: FiducialCut.h,v 1.10 2008/01/31 22:18:17 rustem Exp $
00005 // 
00006 // Definition of fiducial volume.
00007 //
00008 
00009 // C++
00010 #include <iostream>
00011 #include <string>
00012 
00013 class Registry;
00014 
00015 namespace Anp
00016 {
00017    class FiducialCut
00018    {
00019    public:
00020 
00021       enum Strategy
00022       {
00023          kUnknown  = 0,
00024          kDisk     = 1,
00025          kSquareXY = 2,
00026          kSquareUV = 3,
00027          kCC2008   = 4
00028       };
00029 
00030    public:
00031       
00032       FiducialCut();
00033       ~FiducialCut();
00034 
00035       Strategy GetStrategy() const;
00036       
00037       bool Check() const;
00038       bool Count() const;
00039       bool Erase() const;
00040       bool Valid() const;
00041 
00042       bool SelectStdHep() const;
00043       bool UseTrackVtx()  const;
00044       int  FiducialKey()  const;
00045 
00046       double NearMinZ()   const;
00047       double NearMaxZ()   const;
00048       double NearRadius() const;
00049       double NearSpanU()  const;
00050       double NearSpanV()  const;
00051       double NearBeamX()  const;
00052       double NearBeamY()  const;
00053 
00054       double FarSM1MinZ() const;
00055       double FarSM1MaxZ() const;
00056       double FarSM2MinZ() const;
00057       double FarSM2MaxZ() const;
00058 
00059       double FarMaxRadius() const;
00060       double FarMinRadius() const;
00061 
00062       double TrackZOffset() const;
00063 
00064       bool Init(std::string path = "", bool quiet = true);
00065 
00066       void Print(std::ostream &os = std::cout) const;
00067       
00068    private:
00069       
00070       std::string fPath;
00071 
00072       Strategy fStrategy;
00073       
00074       bool fCheck;
00075       bool fCount;
00076       bool fErase;
00077       bool fValid;
00078 
00079       bool fSelectStdHep;
00080       bool fUseTrackVtx;
00081       int  fFiducialKey;
00082 
00083       double fNearMinZ;
00084       double fNearMaxZ;
00085       double fNearRadius;
00086       double fNearSpanU;
00087       double fNearSpanV;
00088       double fNearBeamX;
00089       double fNearBeamY;
00090 
00091       double fFarSM1MinZ;
00092       double fFarSM1MaxZ;
00093       double fFarSM2MinZ;
00094       double fFarSM2MaxZ;
00095 
00096       double fFarMaxRadius;
00097       double fFarMinRadius;
00098 
00099       double fTrackZOffset;
00100    };
00101 
00102    //
00103    // Inlined member function(s)
00104    //
00105    inline FiducialCut::Strategy FiducialCut::GetStrategy() const { return fStrategy; }
00106 
00107    inline bool FiducialCut::Check() const { return fCheck; }
00108    inline bool FiducialCut::Count() const { return fCount; }
00109    inline bool FiducialCut::Erase() const { return fErase; }
00110    inline bool FiducialCut::Valid() const { return fValid; }
00111 
00112    inline bool FiducialCut::SelectStdHep() const { return fSelectStdHep; }
00113    inline bool FiducialCut::UseTrackVtx()  const { return fUseTrackVtx; }
00114    inline int  FiducialCut::FiducialKey()  const { return fFiducialKey; }
00115    
00116    inline double FiducialCut::NearMinZ()   const { return fNearMinZ; }
00117    inline double FiducialCut::NearMaxZ()   const { return fNearMaxZ; }     
00118    inline double FiducialCut::NearRadius() const { return fNearRadius; }
00119    inline double FiducialCut::NearSpanU()  const { return fNearSpanU; }
00120    inline double FiducialCut::NearSpanV()  const { return fNearSpanV; }
00121    inline double FiducialCut::NearBeamX()  const { return fNearBeamX; }
00122    inline double FiducialCut::NearBeamY()  const { return fNearBeamY; }
00123 
00124    inline double FiducialCut::FarSM1MinZ() const { return fFarSM1MinZ; }
00125    inline double FiducialCut::FarSM1MaxZ() const { return fFarSM1MaxZ; }
00126    inline double FiducialCut::FarSM2MinZ() const { return fFarSM2MinZ; }
00127    inline double FiducialCut::FarSM2MaxZ() const { return fFarSM2MaxZ; }
00128    
00129    inline double FiducialCut::FarMaxRadius() const { return fFarMaxRadius; }
00130    inline double FiducialCut::FarMinRadius() const { return fFarMinRadius; }
00131 
00132    inline double FiducialCut::TrackZOffset() const { return fTrackZOffset; }
00133 }
00134 
00135 #endif

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