Cicada  v1.4.1
Project 8 Processed-Data File Format Library
CROOTData.cc
Go to the documentation of this file.
1 
8 #include "logger.hh"
9 
10 #include "TClonesArray.h"
11 
12 #include "CROOTData.hh"
13 
14 #include <iostream>
15 
18 
19 namespace Cicada
20 {
21  //***********************
22  // TProcessedTrackData
23  //***********************
24 
26  TObject(),
27  fComponent(0), fAcquisitionID(0), fTrackID(0), fEventID(0), fEventSequenceID(-1), fIsCut(false),
28  fStartTimeInRunC(0.), fStartTimeInAcq(0.), fEndTimeInRunC(0.),fTimeLength(0.),
29  fStartFrequency(0.), fEndFrequency(0.), fFrequencyWidth(0.),
30  fSlope(0.), fIntercept(0.), fTotalPower(0.),
31  fNTrackBins(0.), fTotalTrackSNR(0.), fMaxTrackSNR(0.), fTotalTrackNUP(0.), fMaxTrackNUP(0.), fTotalWideTrackSNR(0.), fTotalWideTrackNUP(0.),
32  fStartTimeInRunCSigma(0.), fEndTimeInRunCSigma(0.), fTimeLengthSigma(0.),
33  fStartFrequencySigma(0.), fEndFrequencySigma(0.), fFrequencyWidthSigma(0.),
34  fSlopeSigma(0.), fInterceptSigma(0.), fTotalPowerSigma(0.)
35  {}
36 
38  TObject(orig),
39  fComponent(orig.fComponent), fAcquisitionID(orig.fAcquisitionID), fTrackID(orig.fTrackID), fEventID(orig.fEventID), fEventSequenceID(orig.fEventSequenceID), fIsCut(orig.fIsCut),
40  fStartTimeInRunC(orig.fStartTimeInRunC), fStartTimeInAcq(orig.fStartTimeInAcq), fEndTimeInRunC(orig.fEndTimeInRunC),fTimeLength(orig.fTimeLength),
41  fStartFrequency(orig.fStartFrequency), fEndFrequency(orig.fEndFrequency), fFrequencyWidth(orig.fFrequencyWidth),
42  fSlope(orig.fSlope), fIntercept(orig.fIntercept), fTotalPower(orig.fTotalPower),
43  fNTrackBins(orig.fNTrackBins), fTotalTrackSNR(orig.fTotalTrackSNR), fMaxTrackSNR(orig.fMaxTrackSNR), fTotalTrackNUP(orig.fTotalTrackNUP), fMaxTrackNUP(orig.fMaxTrackNUP), fTotalWideTrackSNR(orig.fTotalWideTrackSNR), fTotalWideTrackNUP(orig.fTotalWideTrackNUP),
44  fStartTimeInRunCSigma(orig.fStartTimeInRunCSigma), fEndTimeInRunCSigma(orig.fEndTimeInRunCSigma), fTimeLengthSigma(orig.fTimeLengthSigma),
45  fStartFrequencySigma(orig.fStartFrequencySigma), fEndFrequencySigma(orig.fEndFrequencySigma), fFrequencyWidthSigma(orig.fFrequencyWidthSigma),
46  fSlopeSigma(orig.fSlopeSigma), fInterceptSigma(orig.fInterceptSigma), fTotalPowerSigma(orig.fTotalPowerSigma)
47  {}
48 
50  {}
51 
52  TObject* TProcessedTrackData::Clone(const char* newname)
53  {
54  TProcessedTrackData* newData = new TProcessedTrackData(*this);
55  return newData;
56  }
57 
59  {
60  fComponent = rhs.fComponent; fAcquisitionID = rhs.fAcquisitionID; fTrackID = rhs.fTrackID; fEventID = rhs.fEventID; fEventSequenceID = rhs.fEventSequenceID; fIsCut = rhs.fIsCut;
61  fStartTimeInRunC = rhs.fStartTimeInRunC; fStartTimeInAcq = rhs.fStartTimeInAcq; fEndTimeInRunC = rhs.fEndTimeInRunC;fTimeLength = rhs.fTimeLength;
62  fStartFrequency = rhs.fStartFrequency; fEndFrequency = rhs.fEndFrequency; fFrequencyWidth = rhs.fFrequencyWidth;
63  fSlope = rhs.fSlope; fIntercept = rhs.fIntercept; fTotalPower = rhs.fTotalPower;
64  fNTrackBins = rhs.fNTrackBins; fTotalTrackSNR = rhs.fTotalTrackSNR; fMaxTrackSNR = rhs.fMaxTrackSNR; fTotalTrackNUP = rhs.fTotalTrackNUP; fMaxTrackNUP = rhs.fMaxTrackNUP; fTotalWideTrackSNR = rhs.fTotalWideTrackSNR; fTotalWideTrackNUP = rhs.fTotalWideTrackNUP;
65  fStartTimeInRunCSigma = rhs.fStartTimeInRunCSigma; fEndTimeInRunCSigma = rhs.fEndTimeInRunCSigma; fTimeLengthSigma = rhs.fTimeLengthSigma;
66  fStartFrequencySigma = rhs.fStartFrequencySigma; fEndFrequencySigma = rhs.fEndFrequencySigma; fFrequencyWidthSigma = rhs.fFrequencyWidthSigma;
67  fSlopeSigma = rhs.fSlopeSigma; fInterceptSigma = rhs.fInterceptSigma; fTotalPowerSigma = rhs.fTotalPowerSigma;
68  return *this;
69  }
70 
71  //************************
72  // TMultiTrackEventData
73  //************************
74 
76  fComponent(0), fAcquisitionID(0), fEventID(0), fTotalEventSequences(0),
77  fStartTimeInRunC(0.), fStartTimeInAcq(0.), fEndTimeInRunC(0.),fTimeLength(0.),
78  fStartFrequency(0.), fEndFrequency(0.), fMinimumFrequency(0.), fMaximumFrequency(0.), fFrequencyWidth(0.),
79  fStartTimeInRunCSigma(0.), fEndTimeInRunCSigma(0.), fTimeLengthSigma(0.),
80  fStartFrequencySigma(0.), fEndFrequencySigma(0.), fFrequencyWidthSigma(0.),
81  fFirstTrackID(0), fFirstTrackTimeLength(0.), fFirstTrackFrequencyWidth(0.), fFirstTrackSlope(0.), fFirstTrackIntercept(0.), fFirstTrackTotalPower(0.),
82  fFirstTrackNTrackBins(0), fFirstTrackTotalSNR(0.), fFirstTrackMaxSNR(0.), fFirstTrackTotalNUP(0.), fFirstTrackMaxNUP(0.), fFirstTrackTotalWideSNR(0.), fFirstTrackTotalWideNUP(0.),
83  fUnknownEventTopology(false)
84  {
85  static const std::string className = std::string(TOSTRING(NAMESPACE)) + "::TProcessedTrackData";
86  // this cannot be initialized in the initializer list because ROOT
87  fTracks = new TClonesArray(className.c_str(), 20);
88  }
89 
91  fComponent(orig.fComponent), fAcquisitionID(orig.fAcquisitionID), fEventID(orig.fEventID), fTotalEventSequences(orig.fTotalEventSequences),
92  fStartTimeInRunC(orig.fStartTimeInRunC), fStartTimeInAcq(orig.fStartTimeInAcq), fEndTimeInRunC(orig.fEndTimeInRunC),fTimeLength(orig.fTimeLength),
93  fStartFrequency(orig.fStartFrequency), fEndFrequency(orig.fEndFrequency), fMinimumFrequency(orig.fMaximumFrequency), fMaximumFrequency(orig.fMinimumFrequency), fFrequencyWidth(orig.fFrequencyWidth),
94  fStartTimeInRunCSigma(orig.fStartTimeInRunCSigma), fEndTimeInRunCSigma(orig.fEndTimeInRunCSigma), fTimeLengthSigma(orig.fTimeLengthSigma),
95  fStartFrequencySigma(orig.fStartFrequencySigma), fEndFrequencySigma(orig.fEndFrequencySigma), fFrequencyWidthSigma(orig.fFrequencyWidthSigma),
96  fFirstTrackID(orig.fFirstTrackID), fFirstTrackTimeLength(orig.fFirstTrackTimeLength), fFirstTrackFrequencyWidth(orig.fFirstTrackFrequencyWidth), fFirstTrackSlope(orig.fFirstTrackSlope), fFirstTrackIntercept(orig.fFirstTrackIntercept), fFirstTrackTotalPower(orig.fFirstTrackTotalPower),
97  fFirstTrackNTrackBins(orig.fFirstTrackNTrackBins), fFirstTrackTotalSNR(orig.fFirstTrackTotalSNR), fFirstTrackMaxSNR(orig.fFirstTrackMaxSNR), fFirstTrackTotalNUP(orig.fFirstTrackTotalNUP), fFirstTrackMaxNUP(orig.fFirstTrackMaxNUP), fFirstTrackTotalWideSNR(orig.fFirstTrackTotalWideSNR), fFirstTrackTotalWideNUP(orig.fFirstTrackTotalWideNUP),
98  fUnknownEventTopology(orig.fUnknownEventTopology)
99  {
100  // this cannot be initialized in the initializer list because ROOT
101  fTracks = new TClonesArray(*orig.fTracks);
102  }
103 
105  {
106  fTracks->Clear();
107  }
108 
109  TObject* TMultiTrackEventData::Clone(const char* newname)
110  {
111  TMultiTrackEventData* newData = new TMultiTrackEventData(*this);
112  return newData;
113  }
114 
116  {
117  fComponent = rhs.fComponent; fAcquisitionID = rhs.fAcquisitionID; fEventID = rhs.fEventID; fTotalEventSequences = rhs.fTotalEventSequences;
118  fStartTimeInRunC = rhs.fStartTimeInRunC; fStartTimeInAcq = rhs.fStartTimeInAcq; fEndTimeInRunC = rhs.fEndTimeInRunC;fTimeLength = rhs.fTimeLength;
119  fStartFrequency = rhs.fStartFrequency; fEndFrequency = rhs.fEndFrequency; fMinimumFrequency = rhs.fMinimumFrequency; fMaximumFrequency = rhs.fMaximumFrequency; fFrequencyWidth = rhs.fFrequencyWidth;
120  fStartTimeInRunCSigma = rhs.fStartTimeInRunCSigma; fEndTimeInRunCSigma = rhs.fEndTimeInRunCSigma; fTimeLengthSigma = rhs.fTimeLengthSigma;
121  fStartFrequencySigma = rhs.fStartFrequencySigma; fEndFrequencySigma = rhs.fEndFrequencySigma; fFrequencyWidthSigma = rhs.fFrequencyWidthSigma;
122  fFirstTrackID = rhs.fFirstTrackID; fFirstTrackTimeLength = rhs.fFirstTrackTimeLength; fFirstTrackFrequencyWidth = rhs.fFirstTrackFrequencyWidth; fFirstTrackSlope = rhs.fFirstTrackSlope; fFirstTrackIntercept = rhs.fFirstTrackIntercept; fFirstTrackTotalPower = rhs.fFirstTrackTotalPower;
123  fFirstTrackNTrackBins = rhs.fFirstTrackNTrackBins; fFirstTrackTotalSNR = rhs.fFirstTrackTotalSNR; fFirstTrackMaxSNR = rhs.fFirstTrackMaxSNR; fFirstTrackTotalNUP = rhs.fFirstTrackTotalNUP; fFirstTrackMaxNUP = rhs.fFirstTrackMaxNUP; fFirstTrackTotalWideSNR = rhs.fFirstTrackTotalWideSNR; fFirstTrackTotalWideNUP = rhs.fFirstTrackTotalWideNUP;
124  fUnknownEventTopology = rhs.fUnknownEventTopology;
125  fTracks->Clear(); (*fTracks) = *(rhs.fTracks);
126  return *this;
127  }
128 } /* namespace Cicada */
TObject * Clone(const char *newname="")
Definition: CROOTData.cc:109
Contains the definition of the branches saved in the Katydid output for a processed event...
Definition: CROOTData.hh:102
Contains the definition of the branches saved in the Katydid output for a processed track...
Definition: CROOTData.hh:32
TMultiTrackEventData & operator=(const TMultiTrackEventData &rhs)
Definition: CROOTData.cc:115
TObject * Clone(const char *newname="")
Definition: CROOTData.cc:52
ClassImp(Cicada::TProcessedTrackData)
TProcessedTrackData & operator=(const TProcessedTrackData &rhs)
Definition: CROOTData.cc:58
Contains TProcessedTrackData and TMultiTrackEventData.