Cicada  v1.4.1
Project 8 Processed-Data File Format Library
CROOTData.hh
Go to the documentation of this file.
1 
8 #ifndef CICADA_CROOTDATA_HH_
9 #define CICADA_CROOTDATA_HH_
10 
11 #include "CMemberVariables.hh"
12 
13 #include "TObject.h"
14 
15 class TClonesArray;
16 
17 namespace Cicada
18 {
19 
32  class TProcessedTrackData : public TObject
33  {
34  public:
35  mv_accessible(UInt_t, Component);
36  mv_accessible(UInt_t, AcquisitionID);
37  mv_accessible(UInt_t, TrackID);
38  mv_accessible(UInt_t, EventID);
39  mv_accessible(Int_t, EventSequenceID);
40 
41  mv_accessible(Bool_t, IsCut);
42 
43  // Track properties obtained from "fit"
44  mv_accessible(Double_t, StartTimeInRunC);
45  mv_accessible(Double_t, StartTimeInAcq);
46  mv_accessible(Double_t, EndTimeInRunC);
47  mv_accessible(Double_t, TimeLength);
48  mv_accessible(Double_t, StartFrequency);
49  mv_accessible(Double_t, EndFrequency);
50  mv_accessible(Double_t, FrequencyWidth);
51  mv_accessible(Double_t, Slope);
52  mv_accessible(Double_t, Intercept);
53 
54  // Track properties obtained by combining the points that belong to the track
55  mv_accessible(Double_t, TotalPower);
56  mv_accessible(UInt_t, NTrackBins);
57  mv_accessible(Double_t, TotalTrackSNR);
58  mv_accessible(Double_t, MaxTrackSNR);
59  mv_accessible(Double_t, TotalTrackNUP);
60  mv_accessible(Double_t, MaxTrackNUP);
61  mv_accessible(Double_t, TotalWideTrackSNR);
62  mv_accessible(Double_t, TotalWideTrackNUP);
63 
64  // Errors on the estimated parameters
65  mv_accessible(Double_t, StartTimeInRunCSigma);
66  mv_accessible(Double_t, EndTimeInRunCSigma);
67  mv_accessible(Double_t, TimeLengthSigma);
68  mv_accessible(Double_t, StartFrequencySigma);
69  mv_accessible(Double_t, EndFrequencySigma);
70  mv_accessible(Double_t, FrequencyWidthSigma);
71  mv_accessible(Double_t, SlopeSigma);
72  mv_accessible(Double_t, InterceptSigma);
73  mv_accessible(Double_t, TotalPowerSigma);
74 
75  public:
78  virtual ~TProcessedTrackData();
79  TObject* Clone(const char* newname="");
81 
82  //void Load(const KTProcessedTrackData& data);
83  //void Unload(KTProcessedTrackData& data) const;
84 
85  std::string GetBranchName() { return std::string("Track"); } // Defines the default name of the object saved inside the output tree
86 
88  };
89 
102  class TMultiTrackEventData : public TObject
103  {
104  mv_accessible(UInt_t, Component);
105  mv_accessible(UInt_t, AcquisitionID);
106  mv_accessible(UInt_t, EventID);
107  mv_accessible(UInt_t, TotalEventSequences);
108 
109  mv_accessible(Double_t, StartTimeInRunC);
110  mv_accessible(Double_t, StartTimeInAcq);
111  mv_accessible(Double_t, EndTimeInRunC);
112  mv_accessible(Double_t, TimeLength);
113  mv_accessible(Double_t, StartFrequency);
114  mv_accessible(Double_t, EndFrequency);
115  mv_accessible(Double_t, MinimumFrequency);
116  mv_accessible(Double_t, MaximumFrequency);
117  mv_accessible(Double_t, FrequencyWidth);
118 
119  mv_accessible(Double_t, StartTimeInRunCSigma);
120  mv_accessible(Double_t, EndTimeInRunCSigma);
121  mv_accessible(Double_t, TimeLengthSigma);
122  mv_accessible(Double_t, StartFrequencySigma);
123  mv_accessible(Double_t, EndFrequencySigma);
124  mv_accessible(Double_t, FrequencyWidthSigma);
125 
126  mv_accessible(UInt_t, FirstTrackID);
127  mv_accessible(Double_t, FirstTrackTimeLength);
128  mv_accessible(Double_t, FirstTrackFrequencyWidth);
129  mv_accessible(Double_t, FirstTrackSlope);
130  mv_accessible(Double_t, FirstTrackIntercept);
131  mv_accessible(Double_t, FirstTrackTotalPower);
132  mv_accessible(UInt_t, FirstTrackNTrackBins);
133  mv_accessible(Double_t, FirstTrackTotalSNR);
134  mv_accessible(Double_t, FirstTrackMaxSNR);
135  mv_accessible(Double_t, FirstTrackTotalNUP);
136  mv_accessible(Double_t, FirstTrackMaxNUP);
137  mv_accessible(Double_t, FirstTrackTotalWideSNR);
138  mv_accessible(Double_t, FirstTrackTotalWideNUP);
139 
140  mv_accessible(Double_t, UnknownEventTopology);
141 
142  public:
143  TClonesArray* GetTracks() {return fTracks;}
144  const TClonesArray* GetTracks() const {return fTracks;}
145 
146  private:
147  TClonesArray* fTracks;
149  public:
152  virtual ~TMultiTrackEventData();
153  TObject* Clone(const char* newname="");
155 
156  //void Load(const KTMultiTrackEventData& data);
157  //void Unload(KTMultiTrackEventData& data) const;
158 
159  std::string GetBranchName() { return std::string("Event"); } // Defines the default name of the object saved inside the output tree
160 
162  };
163 
164 
165 } /* namespace Cicada */
166 
167 #endif /* CICADA_CROOTDATA_HH_ */
ClassDef(TProcessedTrackData, 2)
Contains the definition of the branches saved in the Katydid output for a processed event...
Definition: CROOTData.hh:102
Convenience wrapper for _member_variables.hh.
Contains the definition of the branches saved in the Katydid output for a processed track...
Definition: CROOTData.hh:32
TObject * Clone(const char *newname="")
Definition: CROOTData.cc:52
std::string GetBranchName()
Definition: CROOTData.hh:85
TClonesArray * GetTracks()
Definition: CROOTData.hh:143
const TClonesArray * GetTracks() const
Definition: CROOTData.hh:144
#define mv_accessible
TProcessedTrackData & operator=(const TProcessedTrackData &rhs)
Definition: CROOTData.cc:58