- Timestamp:
- 04/29/04 14:01:47 (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/msignal/MExtractFixedWindow.cc
r3868 r3882 36 36 #include <fstream> 37 37 38 #include "MLog.h" 39 #include "MLogManip.h" 38 40 39 41 ClassImp(MExtractFixedWindow); … … 49 51 // Default constructor. 50 52 // 53 // Calls: 54 // - SetRange(fgHiGainFirst, fgHiGainLast, fgLoGainFirst, fgLoGainLast) 55 // 51 56 MExtractFixedWindow::MExtractFixedWindow(const char *name, const char *title) 52 57 { … … 57 62 SetRange(fgHiGainFirst, fgHiGainLast, fgLoGainFirst, fgLoGainLast); 58 63 59 fNumHiGainSamples = (Float_t)(fHiGainLast-fHiGainFirst) + 1.; 60 fNumLoGainSamples = (Float_t)(fLoGainLast-fLoGainFirst) + 1.; 64 } 65 66 67 // -------------------------------------------------------------------------- 68 // 69 // SetRange: 70 // 71 // Checks: 72 // - if the window defined by (fHiGainLast-fHiGainFirst-1) are odd, subtract one 73 // - if the window defined by (fLoGainLast-fLoGainFirst-1) are odd, subtract one 74 // - if the Hi Gain window is smaller than 2, set fHiGainLast to fHiGainFirst+1 75 // - if the Lo Gain window is smaller than 2, set fLoGainLast to fLoGainFirst+1 76 // 77 // Calls: 78 // - MExtractor::SetRange(hifirst,hilast,lofirst,lolast); 79 // 80 // Sets: 81 // - fNumHiGainSamples to: (Float_t)(fHiGainLast-fHiGainFirst+1) 82 // - fNumLoGainSamples to: (Float_t)(fLoGainLast-fLoGainFirst+1) 83 // - fSqrtHiGainSamples to: TMath::Sqrt(fNumHiGainSamples) 84 // - fSqrtLoGainSamples to: TMath::Sqrt(fNumLoGainSamples) 85 // 86 void MExtractFixedWindow::SetRange(Byte_t hifirst, Byte_t hilast, Byte_t lofirst, Byte_t lolast) 87 { 88 89 const Byte_t windowhi = hilast-hifirst+1; 90 const Byte_t windowlo = lolast-lofirst+1; 91 92 const Byte_t whieven = windowhi & ~1; 93 const Byte_t wloeven = windowlo & ~1; 94 95 if (whieven != windowhi) 96 { 97 *fLog << warn << GetDescriptor() 98 << Form("%s%2i%s%2i",": Hi Gain window size has to be even, set last slice from " 99 ,(int)hilast," to ",(int)(hilast-1)) << endl; 100 hilast -= 1; 101 } 102 103 if (wloeven != windowlo) 104 { 105 *fLog << warn << GetDescriptor() 106 << Form("%s%2i%s%2i",": Lo Gain window size has to be even, set last slice from " 107 ,(int)lolast," to ",(int)(lolast-1)) << endl; 108 lolast -= 1; 109 } 110 111 if (whieven<2) 112 { 113 *fLog << warn << GetDescriptor() 114 << Form("%s%2i%s%2i",": Hi Gain window is smaller than 2 FADC sampes, set last slice from" 115 ,(int)hilast," to ",(int)(hifirst+1)) << endl; 116 hilast = hifirst+1; 117 } 118 119 if (wloeven<2) 120 { 121 *fLog << warn << GetDescriptor() 122 << Form("%s%2i%s%2i",": Lo Gain window is smaller than 2 FADC sampes, set last slice from" 123 ,(int)lolast," to ",(int)(lofirst+1)) << endl; 124 lolast = lofirst+1; 125 } 126 127 128 MExtractor::SetRange(hifirst,hilast,lofirst,lolast); 129 130 fNumHiGainSamples = (Float_t)(fHiGainLast-fHiGainFirst+1); 131 fNumLoGainSamples = (Float_t)(fLoGainLast-fLoGainFirst+1); 61 132 62 133 fSqrtHiGainSamples = TMath::Sqrt(fNumHiGainSamples); 63 fSqrtLoGainSamples = TMath::Sqrt(fNumLoGainSamples); 64 } 65 66 134 fSqrtLoGainSamples = TMath::Sqrt(fNumLoGainSamples); 135 136 } 137 138 139 // -------------------------------------------------------------------------- 140 // 141 // FindSignalHiGain: 142 // 143 // - Loop from ptr to (ptr+fHiGainLast-fHiGainFirst) 144 // - Sum up contents of *ptr 145 // - If *ptr is greater than fSaturationLimit, raise sat by 1 146 // 67 147 void MExtractFixedWindow::FindSignalHiGain(Byte_t *ptr, Int_t &sum, Byte_t &sat) const 68 148 { … … 82 162 } 83 163 164 // -------------------------------------------------------------------------- 165 // 166 // FindSignalLoGain: 167 // 168 // - Loop from ptr to (ptr+fLoGainLast-fLoGainFirst) 169 // - Sum up contents of *ptr 170 // - If *ptr is greater than fSaturationLimit, raise sat by 1 171 // 84 172 void MExtractFixedWindow::FindSignalLoGain(Byte_t *ptr, Int_t &sum, Byte_t &sat) const 85 173 {
Note:
See TracChangeset
for help on using the changeset viewer.