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

DmxShowerPlane.h

Go to the documentation of this file.
00001 
00002 //$Id: DmxShowerPlane.h,v 1.42 2006/06/21 01:18:18 rhatcher Exp $
00003 //
00004 //DmxShowerPlane.h
00005 //
00006 //DmxShowerPlane owns a container of DmxHypothesis objects.  It finds
00007 //the best hypothesis and second best hypothesis based on the 
00008 //DmxStatistic goodness of fit.
00009 //
00010 //Author:  B. Rebel 6/2000
00012 
00013 #ifndef DMXSHOWERPLANE_H
00014 #define DMXSHOWERPLANE_H
00015 
00016 #include "Candidate/CandHandle.h"
00017 #include "CandDigit/CandDeMuxDigitHandle.h"
00018 #include "DeMux/DmxPlane.h"
00019 #include "Navigation/XxxItr.h"
00020 #include "DeMux/DmxCompareTypes.h"
00021 #include "UgliGeometry/UgliGeomHandle.h"
00022 
00023 XXXITRDEF(TObject)
00024 
00025 class AlgConfig;
00026 class DmxHypothesis;
00027 
00028 class DmxShowerPlane : public DmxPlane{
00029 
00030  public:
00031   DmxShowerPlane();
00032   DmxShowerPlane(AlgConfig &acd, CandDeMuxDigitHandleItr &cdhitr, Int_t planeNumber);
00033   virtual ~DmxShowerPlane();
00034   Float_t GetBestCoG() const;
00035   DmxHypothesis *GetBestHypothesis();
00036   Float_t GetCoG() const;
00037   Float_t GetStripCoG() const;
00038   DmxHypothesis *GetHypothesis(Int_t hypoLowerBound);
00039   Float_t GetHypothesisCoG(Int_t hypoLowerBound);
00040   Float_t GetPlaneCharge() const;
00041   Int_t GetPlaneNumber() const;
00042   Int_t GetHypothesisLowerBound(Float_t tPos) const;
00043   DmxPlaneTypes::PlaneType_t GetPlaneType() const;
00044   PlaneView::PlaneView_t GetPlaneView() const;
00045   Float_t GetSecondBestCoG() const;
00046   DmxHypothesis *GetSecondBestHypothesis();
00047   DmxHypothesis *GetSetHypothesis();
00048   Float_t GetThirdBestCoG() const;
00049   DmxHypothesis *GetThirdBestHypothesis();
00050   Float_t GetTimingOffset();
00051   Bool_t GetStripsSetFlag() const;
00052   Float_t GetZPosition() const;
00053   Int_t GetNumberOfStrips() const;
00054   Bool_t IsValid() const;
00055   Bool_t IsStray() const;
00056   Bool_t IsGolden() const;
00057   void PrintRecon();
00058   void PrintRecon(Int_t hypoLowerBound);
00059   void SetStrips();
00060   void SetStrips(const Char_t *option);
00061   void SetStrips(Float_t tPos);
00062   void SetStripsSetFlag(Int_t flag);
00063   void SetStray(bool stray);
00064   void SetGolden(bool Golden);
00065         
00066  private:
00067   
00068   //DataMembers
00069   
00070   
00071   Float_t fBestCoG; //center of gravity of best fit hypothesis
00072   DmxHypothesis *fBestHypo;  //best fit hypothesis
00073   Float_t fCoG; //the reconstructed center of gravity, set in SetStrips()
00074   Int_t fCompare;  //flag on how to compare two hypotheses' statistics
00075   TObjArray *fHypothesisArray;  //array of DmxHypothesis objects
00076   bool fIsValid;  //flag for whether a shower plane has valid hypotheses or not
00077   bool fIsStray;
00078   bool fIsGolden;
00079   Int_t fNumberOfHypotheses;  //number of DmxHypothesis objects in a plane
00080   Int_t fNumberOfStrips;
00081   Float_t fPlaneCharge;  //total charge in plane
00082   Int_t fPlaneNumber;
00083   DmxPlaneTypes::PlaneType_t fPlaneType;  //type of plane
00084   PlaneView::PlaneView_t fPlaneView;  //view U or V of the plane
00085   Float_t fSecondBestCoG;  //center of gravity of second best fit hypothesis
00086   DmxHypothesis *fSecondBestHypo;  //second best fit hypothesis
00087   DmxHypothesis *fSetHypo;  //hypothesis chosen for the demuxing
00088   Float_t fThirdBestCoG;  //third best hypothesis center of gravity
00089   DmxHypothesis *fThirdBestHypo;  //third best fit hypothesis
00090   Int_t fStripsSet;  //flag for whether the strips have been previously set
00091   UgliGeomHandle *fUgh;
00092 
00093   //methods
00094 
00095   DmxCompareTypes::CompareType_t CompareHypotheses(DmxHypothesis *hypo1, 
00096                                                    DmxHypothesis *hypo2);  
00097 
00098   ClassDef(DmxShowerPlane,2) //DmxShowerPlane
00099 
00100 };
00101 
00102 #endif // DMXSHOWERPLANE_H
00103 
00104 
00105 
00106 
00107 
00108 
00109 
00110 

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