GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
THILFragment.h
Go to the documentation of this file.
1/** \addtogroup Sorting
2 * @{
3 */
4
5#ifndef THILFRAGMENT_H
6#define THILFRAGMENT_H
7
8#include <vector>
9
10#include "TFragment.h"
11
12/////////////////////////////////////////////////////////////////
13///
14/// \class THILFragment
15///
16/// This Class contains all of the information in an event
17/// fragment for HIL data. This is used to pass an event straight
18/// from the raw-file to the event queue (the event building loop
19/// does nothing apart from passing this straight on).
20///
21/////////////////////////////////////////////////////////////////
22
23class THILFragment : public TFragment {
24public:
28
29 THILFragment& operator=(const THILFragment&) = default; // use default assignment operator (to shut up gcc 9.1)
30
31 bool Good(bool verbose = false) const;
32
33 size_t GermaniumMultiplicity() const { return fGermaniumId.size(); }
34 size_t SiliconMultiplicity() const { return fSiliconId.size(); }
35
36 std::vector<uint8_t> GermaniumId() const { return fGermaniumId; }
37 std::vector<uint16_t> GermaniumEnergy() const { return fGermaniumEnergy; }
38 std::vector<uint16_t> GermaniumTime() const { return fGermaniumTime; }
39 std::vector<uint8_t> SiliconId() const { return fSiliconId; }
40 std::vector<uint16_t> SiliconEnergy() const { return fSiliconEnergy; }
41 uint8_t GermaniumId(size_t index) const { return fGermaniumId.at(index); }
42 uint16_t GermaniumEnergy(size_t index) const { return fGermaniumEnergy.at(index); }
43 uint16_t GermaniumTime(size_t index) const { return fGermaniumTime.at(index); }
44 uint8_t SiliconId(size_t index) const { return fSiliconId.at(index); }
45 uint16_t SiliconEnergy(size_t index) const { return fSiliconEnergy.at(index); }
46 uint32_t EventNumber() const { return fEventNumber; }
47 uint64_t EventTime() const { return fEventTime; }
48 uint16_t MicrosecondTime() const { return fUsTime; }
49
50 void GermaniumId(const std::vector<uint8_t>& geId) { fGermaniumId = geId; }
51 void GermaniumEnergy(const std::vector<uint16_t>& geEnergy) { fGermaniumEnergy = geEnergy; }
52 void GermaniumTime(const std::vector<uint16_t>& geTime) { fGermaniumTime = geTime; }
53 void SiliconId(const std::vector<uint8_t>& siId) { fSiliconId = siId; }
54 void SiliconEnergy(const std::vector<uint16_t>& siEnergy) { fSiliconEnergy = siEnergy; }
55 void EventNumber(const uint32_t& eventNumber) { fEventNumber = eventNumber; }
56 void EventTime(const uint64_t& eventTime) { fEventTime = eventTime; }
57 void MicrosecondTime(const uint16_t& usTime) { fUsTime = usTime; }
58
59 void Clear(Option_t* opt = "") override;
60 void Print(std::ostream& out) const override;
61
62 TObject* Clone(const char* name = "") const override;
63
64private:
65 std::vector<uint8_t> fGermaniumId;
66 std::vector<uint16_t> fGermaniumEnergy;
67 std::vector<uint16_t> fGermaniumTime;
68 std::vector<uint8_t> fSiliconId;
69 std::vector<uint16_t> fSiliconEnergy;
70 uint32_t fEventNumber{0};
71 uint64_t fEventTime{0};
72 uint16_t fUsTime{0};
73
74 /// \cond CLASSIMP
75 ClassDefOverride(THILFragment, 1); // HIL Fragments
76 /// \endcond
77};
78/*! @} */
79#endif // THILFRAGMENT_H
void GermaniumEnergy(const std::vector< uint16_t > &geEnergy)
std::vector< uint16_t > fGermaniumEnergy
std::vector< uint8_t > fGermaniumId
void EventNumber(const uint32_t &eventNumber)
bool Good(bool verbose=false) const
std::vector< uint8_t > GermaniumId() const
uint64_t EventTime() const
size_t SiliconMultiplicity() const
std::vector< uint16_t > SiliconEnergy() const
std::vector< uint8_t > SiliconId() const
size_t GermaniumMultiplicity() const
uint8_t GermaniumId(size_t index) const
uint16_t fUsTime
THILFragment & operator=(const THILFragment &)=default
void GermaniumId(const std::vector< uint8_t > &geId)
uint16_t MicrosecondTime() const
std::vector< uint16_t > GermaniumTime() const
void Print(std::ostream &out) const override
uint16_t GermaniumTime(size_t index) const
uint32_t EventNumber() const
void EventTime(const uint64_t &eventTime)
TObject * Clone(const char *name="") const override
uint16_t SiliconEnergy(size_t index) const
uint64_t fEventTime
void MicrosecondTime(const uint16_t &usTime)
uint32_t fEventNumber
void Clear(Option_t *opt="") override
std::vector< uint8_t > fSiliconId
std::vector< uint16_t > GermaniumEnergy() const
std::vector< uint16_t > fSiliconEnergy
void GermaniumTime(const std::vector< uint16_t > &geTime)
uint8_t SiliconId(size_t index) const
void SiliconId(const std::vector< uint8_t > &siId)
std::vector< uint16_t > fGermaniumTime
void SiliconEnergy(const std::vector< uint16_t > &siEnergy)
uint16_t GermaniumEnergy(size_t index) const