#include "AliFMDCalibSampleRate.h"
#include "TString.h"
#include "AliFMDDebug.h"
#include <iostream>
ClassImp(AliFMDCalibSampleRate)
#if 0
;
#endif
AliFMDCalibSampleRate::AliFMDCalibSampleRate()
: fRates(AliFMDMap::kMaxDetectors, AliFMDMap::kMaxRings, 2, 1)
{
fRates.Reset(1);
}
AliFMDCalibSampleRate::AliFMDCalibSampleRate(const AliFMDCalibSampleRate& o)
: TObject(o), fRates(o.fRates)
{
}
AliFMDCalibSampleRate&
AliFMDCalibSampleRate::operator=(const AliFMDCalibSampleRate& o)
{
fRates = o.fRates;
return (*this);
}
void
AliFMDCalibSampleRate::Set(UShort_t det, Char_t ring,
UShort_t sector, UShort_t, UShort_t rate)
{
UInt_t nSec = (ring == 'I' ? 10 : 20);
UInt_t board = sector / nSec;
fRates(det, ring, board, 0) = rate;
AliFMDDebug(15, ("Setting sample rate for FMD%d%c[%2d,0] (board %d): %d",
det, ring, sector, board, rate));
}
UShort_t
AliFMDCalibSampleRate::Rate(UShort_t det, Char_t ring,
UShort_t sec, UShort_t) const
{
UInt_t nSec = (ring == 'I' ? 10 : 20);
UInt_t board = sec / nSec;
UShort_t ret = fRates(det, ring, board, 0);
AliFMDDebug(15, ("Getting sample rate for FMD%d%c[%2d,0] (board %d): %d",
det, ring, sec, board, ret));
return ret;
}
void
AliFMDCalibSampleRate::WriteToFile(std::ostream &outFile, Bool_t* detectors)
{
outFile.write("# SampleRate \n",14);
for(Int_t det=1;det<=3;det++) {
if (detectors && !detectors[det-1]) {
continue;
}
UShort_t FirstRing = (det == 1 ? 1 : 0);
for (UShort_t ir = FirstRing; ir < 2; ir++) {
Char_t ring = (ir == 0 ? 'O' : 'I');
UShort_t nsec = (ir == 0 ? 40 : 20) / 2;
for(UShort_t board = 0; board < 2; board++) {
UShort_t sector = board*nsec;
outFile << det << ','
<< ring << ','
<< board << ','
<< Rate(det,ring,sector) << "\n";
}
}
}
}
void
AliFMDCalibSampleRate::ReadFromFile(std::istream &inFile)
{
TString line;
Bool_t readData=kFALSE;
while(line.ReadLine(inFile)) {
if(line.Contains("samplerate",TString::kIgnoreCase)) {
readData = kTRUE;
break;
}
}
UShort_t det, board;
Char_t ring;
UShort_t sampleRate;
Int_t thisline = inFile.tellg();
Char_t c[3];
while( readData ) {
thisline = inFile.tellg();
line.ReadLine(inFile);
if(line.Contains("# ",TString::kIgnoreCase)) {
readData = kFALSE;
continue;
}
inFile.seekg(thisline);
inFile >> det >> c[0]
>> ring >> c[1]
>> board >> c[2]
>> sampleRate;
UInt_t nSec = (ring == 'I' ? 20 : 40)/2;
UShort_t sector = board*nSec;
Set(det,ring,sector,0,sampleRate);
}
inFile.seekg(0);
}
AliFMDCalibSampleRate.cxx:1 AliFMDCalibSampleRate.cxx:2 AliFMDCalibSampleRate.cxx:3 AliFMDCalibSampleRate.cxx:4 AliFMDCalibSampleRate.cxx:5 AliFMDCalibSampleRate.cxx:6 AliFMDCalibSampleRate.cxx:7 AliFMDCalibSampleRate.cxx:8 AliFMDCalibSampleRate.cxx:9 AliFMDCalibSampleRate.cxx:10 AliFMDCalibSampleRate.cxx:11 AliFMDCalibSampleRate.cxx:12 AliFMDCalibSampleRate.cxx:13 AliFMDCalibSampleRate.cxx:14 AliFMDCalibSampleRate.cxx:15 AliFMDCalibSampleRate.cxx:16 AliFMDCalibSampleRate.cxx:17 AliFMDCalibSampleRate.cxx:18 AliFMDCalibSampleRate.cxx:19 AliFMDCalibSampleRate.cxx:20 AliFMDCalibSampleRate.cxx:21 AliFMDCalibSampleRate.cxx:22 AliFMDCalibSampleRate.cxx:23 AliFMDCalibSampleRate.cxx:24 AliFMDCalibSampleRate.cxx:25 AliFMDCalibSampleRate.cxx:26 AliFMDCalibSampleRate.cxx:27 AliFMDCalibSampleRate.cxx:28 AliFMDCalibSampleRate.cxx:29 AliFMDCalibSampleRate.cxx:30 AliFMDCalibSampleRate.cxx:31 AliFMDCalibSampleRate.cxx:32 AliFMDCalibSampleRate.cxx:33 AliFMDCalibSampleRate.cxx:34 AliFMDCalibSampleRate.cxx:35 AliFMDCalibSampleRate.cxx:36 AliFMDCalibSampleRate.cxx:37 AliFMDCalibSampleRate.cxx:38 AliFMDCalibSampleRate.cxx:39 AliFMDCalibSampleRate.cxx:40 AliFMDCalibSampleRate.cxx:41 AliFMDCalibSampleRate.cxx:42 AliFMDCalibSampleRate.cxx:43 AliFMDCalibSampleRate.cxx:44 AliFMDCalibSampleRate.cxx:45 AliFMDCalibSampleRate.cxx:46 AliFMDCalibSampleRate.cxx:47 AliFMDCalibSampleRate.cxx:48 AliFMDCalibSampleRate.cxx:49 AliFMDCalibSampleRate.cxx:50 AliFMDCalibSampleRate.cxx:51 AliFMDCalibSampleRate.cxx:52 AliFMDCalibSampleRate.cxx:53 AliFMDCalibSampleRate.cxx:54 AliFMDCalibSampleRate.cxx:55 AliFMDCalibSampleRate.cxx:56 AliFMDCalibSampleRate.cxx:57 AliFMDCalibSampleRate.cxx:58 AliFMDCalibSampleRate.cxx:59 AliFMDCalibSampleRate.cxx:60 AliFMDCalibSampleRate.cxx:61 AliFMDCalibSampleRate.cxx:62 AliFMDCalibSampleRate.cxx:63 AliFMDCalibSampleRate.cxx:64 AliFMDCalibSampleRate.cxx:65 AliFMDCalibSampleRate.cxx:66 AliFMDCalibSampleRate.cxx:67 AliFMDCalibSampleRate.cxx:68 AliFMDCalibSampleRate.cxx:69 AliFMDCalibSampleRate.cxx:70 AliFMDCalibSampleRate.cxx:71 AliFMDCalibSampleRate.cxx:72 AliFMDCalibSampleRate.cxx:73 AliFMDCalibSampleRate.cxx:74 AliFMDCalibSampleRate.cxx:75 AliFMDCalibSampleRate.cxx:76 AliFMDCalibSampleRate.cxx:77 AliFMDCalibSampleRate.cxx:78 AliFMDCalibSampleRate.cxx:79 AliFMDCalibSampleRate.cxx:80 AliFMDCalibSampleRate.cxx:81 AliFMDCalibSampleRate.cxx:82 AliFMDCalibSampleRate.cxx:83 AliFMDCalibSampleRate.cxx:84 AliFMDCalibSampleRate.cxx:85 AliFMDCalibSampleRate.cxx:86 AliFMDCalibSampleRate.cxx:87 AliFMDCalibSampleRate.cxx:88 AliFMDCalibSampleRate.cxx:89 AliFMDCalibSampleRate.cxx:90 AliFMDCalibSampleRate.cxx:91 AliFMDCalibSampleRate.cxx:92 AliFMDCalibSampleRate.cxx:93 AliFMDCalibSampleRate.cxx:94 AliFMDCalibSampleRate.cxx:95 AliFMDCalibSampleRate.cxx:96 AliFMDCalibSampleRate.cxx:97 AliFMDCalibSampleRate.cxx:98 AliFMDCalibSampleRate.cxx:99 AliFMDCalibSampleRate.cxx:100 AliFMDCalibSampleRate.cxx:101 AliFMDCalibSampleRate.cxx:102 AliFMDCalibSampleRate.cxx:103 AliFMDCalibSampleRate.cxx:104 AliFMDCalibSampleRate.cxx:105 AliFMDCalibSampleRate.cxx:106 AliFMDCalibSampleRate.cxx:107 AliFMDCalibSampleRate.cxx:108 AliFMDCalibSampleRate.cxx:109 AliFMDCalibSampleRate.cxx:110 AliFMDCalibSampleRate.cxx:111 AliFMDCalibSampleRate.cxx:112 AliFMDCalibSampleRate.cxx:113 AliFMDCalibSampleRate.cxx:114 AliFMDCalibSampleRate.cxx:115 AliFMDCalibSampleRate.cxx:116 AliFMDCalibSampleRate.cxx:117 AliFMDCalibSampleRate.cxx:118 AliFMDCalibSampleRate.cxx:119 AliFMDCalibSampleRate.cxx:120 AliFMDCalibSampleRate.cxx:121 AliFMDCalibSampleRate.cxx:122 AliFMDCalibSampleRate.cxx:123 AliFMDCalibSampleRate.cxx:124 AliFMDCalibSampleRate.cxx:125 AliFMDCalibSampleRate.cxx:126 AliFMDCalibSampleRate.cxx:127 AliFMDCalibSampleRate.cxx:128 AliFMDCalibSampleRate.cxx:129 AliFMDCalibSampleRate.cxx:130 AliFMDCalibSampleRate.cxx:131 AliFMDCalibSampleRate.cxx:132 AliFMDCalibSampleRate.cxx:133 AliFMDCalibSampleRate.cxx:134 AliFMDCalibSampleRate.cxx:135 AliFMDCalibSampleRate.cxx:136 AliFMDCalibSampleRate.cxx:137 AliFMDCalibSampleRate.cxx:138 AliFMDCalibSampleRate.cxx:139 AliFMDCalibSampleRate.cxx:140 AliFMDCalibSampleRate.cxx:141 AliFMDCalibSampleRate.cxx:142 AliFMDCalibSampleRate.cxx:143 AliFMDCalibSampleRate.cxx:144 AliFMDCalibSampleRate.cxx:145 AliFMDCalibSampleRate.cxx:146 AliFMDCalibSampleRate.cxx:147 AliFMDCalibSampleRate.cxx:148 AliFMDCalibSampleRate.cxx:149 AliFMDCalibSampleRate.cxx:150 AliFMDCalibSampleRate.cxx:151 AliFMDCalibSampleRate.cxx:152 AliFMDCalibSampleRate.cxx:153 AliFMDCalibSampleRate.cxx:154 AliFMDCalibSampleRate.cxx:155 AliFMDCalibSampleRate.cxx:156 AliFMDCalibSampleRate.cxx:157 AliFMDCalibSampleRate.cxx:158 AliFMDCalibSampleRate.cxx:159 AliFMDCalibSampleRate.cxx:160 AliFMDCalibSampleRate.cxx:161 AliFMDCalibSampleRate.cxx:162 AliFMDCalibSampleRate.cxx:163 AliFMDCalibSampleRate.cxx:164 AliFMDCalibSampleRate.cxx:165 AliFMDCalibSampleRate.cxx:166 AliFMDCalibSampleRate.cxx:167 AliFMDCalibSampleRate.cxx:168 AliFMDCalibSampleRate.cxx:169 AliFMDCalibSampleRate.cxx:170 AliFMDCalibSampleRate.cxx:171 AliFMDCalibSampleRate.cxx:172 AliFMDCalibSampleRate.cxx:173 AliFMDCalibSampleRate.cxx:174 AliFMDCalibSampleRate.cxx:175 AliFMDCalibSampleRate.cxx:176 AliFMDCalibSampleRate.cxx:177 AliFMDCalibSampleRate.cxx:178 AliFMDCalibSampleRate.cxx:179 AliFMDCalibSampleRate.cxx:180 AliFMDCalibSampleRate.cxx:181 AliFMDCalibSampleRate.cxx:182 AliFMDCalibSampleRate.cxx:183 AliFMDCalibSampleRate.cxx:184 AliFMDCalibSampleRate.cxx:185 AliFMDCalibSampleRate.cxx:186 AliFMDCalibSampleRate.cxx:187 AliFMDCalibSampleRate.cxx:188