-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathORKatrinV4FLTHitRateTreeWriter.cc
69 lines (55 loc) · 2.15 KB
/
ORKatrinV4FLTHitRateTreeWriter.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// ORKatrinV4FLTHitrateTreeWriter.cc
#include "ORKatrinV4FLTHitRateTreeWriter.hh"
#include "ORLogger.hh"
using namespace std;
ORKatrinV4FLTHitRateTreeWriter::ORKatrinV4FLTHitRateTreeWriter(string treeName) :
ORVTreeWriter(new ORKatrinV4FLTHitRateDecoder, treeName)
{
fEventDecoder = dynamic_cast<ORKatrinV4FLTHitRateDecoder*>(fDataDecoder);
Clear();
}
//ORKatrinV4FLTHitRateTreeWriter::~ORKatrinV4FLTHitRateTreeWriter()
//{
// delete fEventDecoder;
//}
ORDataProcessor::EReturnCode ORKatrinV4FLTHitRateTreeWriter::InitializeBranches()
{
fTree->Branch("crate", &fCrate, "crate/s");
fTree->Branch("card", &fCard, "card/s");
fTree->Branch("version", &fVersion, "version/s");
fTree->Branch("second", &fSecond, "second/i");
fTree->Branch("hitrateLength", &fHitrateLength, "hitrateLength/i");
fTree->Branch("totalHitrate", &fTotalHitrate, "totalHitrate/i");
fTree->Branch("NChannels", &fNChannels, "NChannels/i");
fTree->Branch("rawData16", fRawData16, "rawData16[NChannels]/i");
fTree->Branch("rawData32", fRawData32, "rawData32[NChannels]/i");
return kSuccess;
}
ORDataProcessor::EReturnCode ORKatrinV4FLTHitRateTreeWriter::ProcessMyDataRecord(UInt_t* record)
{
// the event decoder could run into a problem, but this might not
// ruin the rest of the run.
if(!fEventDecoder->SetDataRecord(record)) return kFailure;
// check severity to improve speed:
fCrate = fEventDecoder->CrateOf(record);
fCard = fEventDecoder->CardOf(record);
fVersion = fEventDecoder->VersionOf(record);
fSecond = fEventDecoder->SecondsOf(record);
fHitrateLength = fEventDecoder->HitRateLengthOf(record);
fTotalHitrate = fEventDecoder->TotalHitRateOf(record);
//fChannel = fEventDecoder->ChannelOf(record);
fNChannels = fEventDecoder->NChannelsOf(record);
//fill arrays
fEventDecoder->CopyRawData(fRawData16,fRawData32);
if (ORLogger::GetSeverity() >= ORLogger::kDebug)
{
ORLog(kDebug) << "ProcessMyDataRecord(): "
<< "sec-fVersion-crate-card-totalRate-NChannels = "
<< fSecond << "-" << fVersion << "-"
<< fCrate << "-"
<< fCard << "-"
<< fTotalHitrate << "-"
<< fNChannels << endl;
}
return kSuccess;
}