00001 00002 //$Id: DmxStatus.h,v 1.28 2004/11/01 20:12:03 brebel Exp $ 00003 // 00004 //DmxStatus.h 00005 // 00006 //DmxStatus is the class that sorts digits into plane objects and 00007 //keeps track of all the info about an event you want to stick 00008 //around - ie TObjArray of planes, vertex and end planes, etc 00009 // 00010 //Author: B. Rebel 10/2001 00012 00013 #ifndef DMXSTATUS_H 00014 #define DMXSTATUS_H 00015 00016 #include "TObject.h" 00017 #include "CandDigit/CandDigitHandle.h" 00018 #include "CandDigit/CandDigitListHandle.h" 00019 00020 class TObjectItr; 00021 00022 class DmxStatus : public TObject{ 00023 00024 public: 00025 00026 DmxStatus(); 00027 virtual ~DmxStatus(); 00028 00029 Float_t GetAverageTimingOffset() const; 00030 Int_t GetEndPlaneNumber() const; 00031 Bool_t GetEventDeMuxed() const; 00032 Int_t GetEventDirection() const; 00033 Int_t GetEventNumber () const; 00034 Bool_t GetMultipleMuon() const; 00035 Float_t GetUMuonMatedFraction() const; 00036 Float_t GetVMuonMatedFraction() const; 00037 Int_t GetMuonStartPlaneNumber() const; 00038 Int_t GetNumberOfPlanes() const; 00039 const TObjArray *GetPlaneArray() const; 00040 Float_t GetUShowerMatedFraction() const; 00041 Float_t GetVShowerMatedFraction() const; 00042 Int_t GetVertexPlaneNumber() const; 00043 Float_t GetVertexZPosition() const; 00044 Bool_t GetNonPhysicalFailure() const; 00045 Bool_t GetValidPlanesFailure() const; 00046 Bool_t GetVertexPlaneFailure() const; 00047 void ClearPlaneArray(); 00048 Float_t GetUTrackStrip(Int_t planeNumber) const; 00049 Float_t GetVTrackStrip(Int_t planeNumber) const; 00050 Double_t GetUTrackChiSq() const; 00051 Double_t GetVTrackChiSq() const; 00052 Double_t GetUTrackSlope() const; 00053 Double_t GetVTrackSlope() const; 00054 Double_t GetUSlopeRMS() const; 00055 Double_t GetVSlopeRMS() const; 00056 Int_t GetUStrayPlanes() const; 00057 Int_t GetVStrayPlanes() const; 00058 Int_t GetUValidPlanes() const; 00059 Int_t GetVValidPlanes() const; 00060 Double_t GetUTrackIntercept() const; 00061 Double_t GetVTrackIntercept() const; 00062 Bool_t GetUOverlappingMultiple() const; 00063 Bool_t GetVOverlappingMultiple() const; 00064 Bool_t GetFigureOfMeritFailure() const; 00065 void SetAverageTimingOffset(Float_t offset); 00066 void SetPlaneArray(TObjArray *array); 00067 void SetNumberOfPlanes(Int_t num); 00068 void SetMultipleMuon(bool multiple); 00069 void SetUTrackVariables(Double_t a, Double_t b, Double_t chiSq); 00070 void SetVTrackVariables(Double_t a, Double_t b, Double_t chiSq); 00071 void SetEventDeMuxed(Bool_t demux); 00072 void SetEventDirection(Int_t direction); 00073 void SetEventNumber(Int_t num); 00074 void SetUMuonMatedFraction(Float_t fraction); 00075 void SetVMuonMatedFraction(Float_t fraction); 00076 void SetNonPhysicalFailure(Bool_t demux); 00077 void SetUShowerMatedFraction(Float_t fraction); 00078 void SetVShowerMatedFraction(Float_t fraction); 00079 void SetValidPlanesFailure(Bool_t demux); 00080 void SetNoVertexFailure(Bool_t demux); 00081 void SetVertexPlaneNumber(Int_t vertex); 00082 void SetVertexPlaneZPosition(Float_t vertexZ); 00083 void SetEndPlaneNumber(Int_t endPlane); 00084 void SetMuonStartPlaneNumber(Int_t muonPlane); 00085 void SetUSlopeRMS(Double_t rms); 00086 void SetUStrayPlanes(Int_t planes); 00087 void SetUValidPlanes(Int_t planes); 00088 void SetUOverlappingMultiple(Bool_t overlap); 00089 void SetVSlopeRMS(Double_t rms); 00090 void SetVStrayPlanes(Int_t planes); 00091 void SetVValidPlanes(Int_t planes); 00092 void SetVOverlappingMultiple(Bool_t overlap); 00093 void SetFigureOfMerit(Int_t validPlanes, Int_t strayPlanes); 00094 void ResetStatus(); 00095 00096 private: 00097 00098 //Data Members 00099 00100 Float_t fAverageTimingOffset; 00101 Int_t fEndPlaneNumber; //number of the last plane in the event 00102 Bool_t fEventDeMuxed; 00103 Int_t fEventDirection; 00104 Int_t fEventNumber; //the record number of the event 00105 Bool_t fFigureOfMeritFailure; 00106 bool fMultiple; //flag for multiple muon event 00107 Int_t fMuonStartPlaneNumber; //number of plane where the muon trail starts 00108 Bool_t fNonPhysicalFailure; 00109 Int_t fNumberOfPlanes; //number of planes in the event 00110 Float_t fUShowerMatedFraction; 00111 Float_t fVShowerMatedFraction; 00112 Float_t fUMuonMatedFraction; 00113 Float_t fVMuonMatedFraction; 00114 Double_t fUChiSq; 00115 Double_t fUIntercept; 00116 Double_t fUSlope; //variables for the straight line fits in each view 00117 Double_t fUSlopeRMS; //variables for the straight line fits in each view 00118 Int_t fUStrayPlanes; 00119 Bool_t fUOverlappingMultiple; 00120 Int_t fUValidPlanes; 00121 Double_t fVChiSq; 00122 Double_t fVIntercept; 00123 Double_t fVSlope; 00124 Double_t fVSlopeRMS; 00125 Int_t fVStrayPlanes; 00126 Bool_t fVOverlappingMultiple; 00127 Int_t fVValidPlanes; 00128 Bool_t fValidPlanesFailure; 00129 Bool_t fVertexPlaneFailure; 00130 Int_t fVertexPlaneNumber; //the plane containing the event vertex 00131 Float_t fVertexZPosition; //the z position of the plane containing the event vertex 00132 TObjArray *fPlaneArray; //array of DmxPlane objects for each plane hit in 00133 //the event 00134 00135 ClassDef(DmxStatus, 1) //DmxStatus 00136 00137 }; 00138 00139 #endif // DMXSTATUS_H 00140 00141 00142 00143 00144 00145 00146 00147 00148 00149 00150 00151 00152 00153 00154 00155 00156 00157 00158 00159 00160
1.3.9.1