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

DmxUtilities.h

Go to the documentation of this file.
00001 
00002 //$Id: DmxUtilities.h,v 1.10 2004/10/18 15:14:42 brebel Exp $
00003 //
00004 //DmxUtilities.h
00005 //
00006 //DmxUtilities is the class that sorts digits into plane objects and 
00007 //finds the end points for the event
00008 //
00009 //Author:  B. Rebel 10/2002
00011 
00012 #ifndef DMXUTILITIES_H
00013 #define DMXUTILITIES_H
00014 
00015 #include "TObject.h"
00016 #include "CandDigit/CandDeMuxDigitHandle.h"
00017 #include "CandDigit/CandDeMuxDigitListHandle.h"
00018 //#include "TH1.h"
00019 
00020 class AlgConfig;
00021 class DmxPlaneItr;
00022 class DmxStatus;
00023 //class PlaneView;
00024 
00025 class DmxUtilities : public TObject{
00026 
00027  public:
00028 
00029   DmxUtilities();
00030   virtual ~DmxUtilities();
00031   
00032   void FillPlaneArray(DmxStatus *status, CandDeMuxDigitListHandle &cdlh, AlgConfig &acd);
00033   Float_t CheckForXTalk(Int_t pixel, Float_t *planeSet);
00034   void FillHitPixels(CandDeMuxDigitHandleItr crdhi, Int_t chip, 
00035                      Float_t *eastSet, Float_t *westSet);
00036   Int_t GetDigitPixel(Int_t channel);
00037   Int_t FindVertexPlane(DmxPlaneItr &planeItr);
00038   Int_t FindEndPlane(DmxPlaneItr &planeItr);
00039   Int_t FindMuonStartPlane(DmxPlaneItr &planeItr, Float_t peGainConversion);
00040   Int_t FindBeamMuonStartPlane(DmxPlaneItr &planeItr, Float_t peGainConversion);
00041   Bool_t IsValidFit(DmxPlaneItr &planeItr, Double_t a1, Double_t a2, 
00042                     Double_t a3, Double_t a4, Float_t offset);
00043   Bool_t IsValidFit(DmxPlaneItr &planeItr, Double_t a1, Double_t a2, 
00044                     Double_t a3, Double_t a4);
00045   Int_t FindPlanesOffFit(DmxPlaneItr &planeItr, Int_t strayCut);
00046   Bool_t IsOverlappingMultiple(DmxPlaneItr &planeItr, Float_t vertexZ,Float_t slopeCutOff, 
00047                                Float_t interceptCutOff, Float_t peakCutOff);
00048   Int_t CheckFit(DmxPlaneItr &planeItr);
00049   Float_t CheckFitWithTiming(DmxPlaneItr &planeItr);
00050   void FindCubicFit(Double_t *x, Double_t *y, Double_t *weight,
00051                     Int_t nPoints, Double_t &a1, Double_t &a2, 
00052                     Double_t &a3, Double_t &a4, Double_t &chiSq);
00053   void FindQuadraticFit(Double_t *x, Double_t *y, Double_t *weight,
00054                         Int_t nPoints, Double_t &a1, Double_t &a2, 
00055                         Double_t &a3, Double_t &chiSq);
00056   void FindLinearFit(Double_t *x, Double_t *y, Double_t *weight,
00057                      Int_t nPoints, Double_t &a1, Double_t &a2, 
00058                      Double_t &chiSq); 
00059 
00060  private:
00061   
00062   //Data Members
00063 
00064   ClassDef(DmxUtilities, 0) //DmxUtilities
00065   
00066 };
00067 
00068 #endif // DMXUTILITIES_H
00069 
00070 
00071 
00072 
00073 
00074 
00075 
00076 
00077 
00078 
00079 
00080 
00081 
00082 
00083 
00084 
00085 
00086 
00087 
00088 
00089 

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