13 ROOT::Math::Polar3DVector(1., 101./180.*TMath::Pi(), 0./180.*TMath::Pi()),
14 ROOT::Math::Polar3DVector(1., 37./180.*TMath::Pi(), 324./180.*TMath::Pi()),
15 ROOT::Math::Polar3DVector(1., 79./180.*TMath::Pi(), 36./180.*TMath::Pi()),
16 ROOT::Math::Polar3DVector(1., 101./180.*TMath::Pi(), 144./180.*TMath::Pi()),
17 ROOT::Math::Polar3DVector(1., 143./180.*TMath::Pi(), 288./180.*TMath::Pi()),
18 ROOT::Math::Polar3DVector(1., 37./180.*TMath::Pi(), 180./180.*TMath::Pi()),
19 ROOT::Math::Polar3DVector(1., 101./180.*TMath::Pi(), 72./180.*TMath::Pi()),
20 ROOT::Math::Polar3DVector(1., 143./180.*TMath::Pi(), 0./180.*TMath::Pi()),
21 ROOT::Math::Polar3DVector(1., 143./180.*TMath::Pi(), 72./180.*TMath::Pi()),
22 ROOT::Math::Polar3DVector(1., 37./180.*TMath::Pi(), 108./180.*TMath::Pi()),
23 ROOT::Math::Polar3DVector(1., 79./180.*TMath::Pi(), 324./180.*TMath::Pi()),
24 ROOT::Math::Polar3DVector(1., 143./180.*TMath::Pi(), 144./180.*TMath::Pi()),
25 ROOT::Math::Polar3DVector(1., 101./180.*TMath::Pi(), 216./180.*TMath::Pi()),
26 ROOT::Math::Polar3DVector(1., 79./180.*TMath::Pi(), 180./180.*TMath::Pi()),
27 ROOT::Math::Polar3DVector(1., 37./180.*TMath::Pi(), 36./180.*TMath::Pi()),
28 ROOT::Math::Polar3DVector(1., 37./180.*TMath::Pi(), 252./180.*TMath::Pi()),
29 ROOT::Math::Polar3DVector(1., 143./180.*TMath::Pi(), 216./180.*TMath::Pi())};
33 ROOT::Math::Polar3DVector(1., 130.9188/180.*TMath::Pi(), -114.1559/180.*TMath::Pi()),
34 ROOT::Math::Polar3DVector(1., 112.2018/180.*TMath::Pi(), -133.4987/180.*TMath::Pi()),
35 ROOT::Math::Polar3DVector(1., 151.6914/180.*TMath::Pi(), -130.8261/180.*TMath::Pi()),
36 ROOT::Math::Polar3DVector(1., 167.5319/180.*TMath::Pi(), -144.0201/180.*TMath::Pi()),
37 ROOT::Math::Polar3DVector(1., 151.6914/180.*TMath::Pi(), -157.1848/180.*TMath::Pi()),
38 ROOT::Math::Polar3DVector(1., 142.6894/180.*TMath::Pi(), -115.697/180.*TMath::Pi()),
39 ROOT::Math::Polar3DVector(1., 142.7579/180.*TMath::Pi(), -171.1808/180.*TMath::Pi()),
40 ROOT::Math::Polar3DVector(1., 160.0227/180.*TMath::Pi(), -108.0073/180.*TMath::Pi()),
41 ROOT::Math::Polar3DVector(1., 135.0056/180.*TMath::Pi(), -142.6367/180.*TMath::Pi()),
42 ROOT::Math::Polar3DVector(1., 126.3285/180.*TMath::Pi(), -162.3313/180.*TMath::Pi()),
43 ROOT::Math::Polar3DVector(1., 151.6914/180.*TMath::Pi(), 157.1848/180.*TMath::Pi()),
44 ROOT::Math::Polar3DVector(1., 135.0056/180.*TMath::Pi(), 145.3544/180.*TMath::Pi()),
45 ROOT::Math::Polar3DVector(1., 138.9843/180.*TMath::Pi(), 131.4479/180.*TMath::Pi()),
46 ROOT::Math::Polar3DVector(1., 139.0054/180.*TMath::Pi(), 158.3867/180.*TMath::Pi()),
47 ROOT::Math::Polar3DVector(1., 167.5319/180.*TMath::Pi(), 144.0201/180.*TMath::Pi()),
48 ROOT::Math::Polar3DVector(1., 126.8803/180.*TMath::Pi(), 162.8018/180.*TMath::Pi()),
49 ROOT::Math::Polar3DVector(1., 160.0227/180.*TMath::Pi(), -180.0000/180.*TMath::Pi()),
50 ROOT::Math::Polar3DVector(1., 0.0000/180.*TMath::Pi(), 0.0000/180.*TMath::Pi()),
51 ROOT::Math::Polar3DVector(1., 130.6994/180.*TMath::Pi(), 114.8989/180.*TMath::Pi()),
52 ROOT::Math::Polar3DVector(1., 110.0793/180.*TMath::Pi(), 134.1141/180.*TMath::Pi()),
53 ROOT::Math::Polar3DVector(1., 167.5319/180.*TMath::Pi(), 71.97365/180.*TMath::Pi()),
54 ROOT::Math::Polar3DVector(1., 123.8915/180.*TMath::Pi(), 80.31562/180.*TMath::Pi()),
55 ROOT::Math::Polar3DVector(1., 160.0227/180.*TMath::Pi(), 108.0073/180.*TMath::Pi()),
56 ROOT::Math::Polar3DVector(1., 142.7579/180.*TMath::Pi(), 44.80589/180.*TMath::Pi()),
57 ROOT::Math::Polar3DVector(1., 138.9843/180.*TMath::Pi(), 59.44141/180.*TMath::Pi()),
58 ROOT::Math::Polar3DVector(1., 126.3285/180.*TMath::Pi(), 53.67318/180.*TMath::Pi()),
59 ROOT::Math::Polar3DVector(1., 142.6894/180.*TMath::Pi(), 100.2885/180.*TMath::Pi()),
60 ROOT::Math::Polar3DVector(1., 151.6914/180.*TMath::Pi(), 85.17818/180.*TMath::Pi()),
61 ROOT::Math::Polar3DVector(1., 151.6914/180.*TMath::Pi(), 58.82094/180.*TMath::Pi()),
62 ROOT::Math::Polar3DVector(1., 139.0054/180.*TMath::Pi(), 86.38944/180.*TMath::Pi()),
63 ROOT::Math::Polar3DVector(1., 151.6914/180.*TMath::Pi(), 130.8261/180.*TMath::Pi()),
64 ROOT::Math::Polar3DVector(1., 130.9188/180.*TMath::Pi(), 29.85166/180.*TMath::Pi()),
65 ROOT::Math::Polar3DVector(1., 139.0054/180.*TMath::Pi(), 14.37406/180.*TMath::Pi()),
66 ROOT::Math::Polar3DVector(1., 126.3285/180.*TMath::Pi(), -18.33714/180.*TMath::Pi()),
67 ROOT::Math::Polar3DVector(1., 160.0227/180.*TMath::Pi(), 36.01454/180.*TMath::Pi()),
68 ROOT::Math::Polar3DVector(1., 167.5319/180.*TMath::Pi(), 0.00000/180.*TMath::Pi()),
69 ROOT::Math::Polar3DVector(1., 112.2018/180.*TMath::Pi(), 10.50944/180.*TMath::Pi()),
70 ROOT::Math::Polar3DVector(1., 135.0056/180.*TMath::Pi(), 1.370451/180.*TMath::Pi()),
71 ROOT::Math::Polar3DVector(1., 151.6914/180.*TMath::Pi(), -13.16529/180.*TMath::Pi()),
72 ROOT::Math::Polar3DVector(1., 151.6914/180.*TMath::Pi(), 13.16529/180.*TMath::Pi()),
73 ROOT::Math::Polar3DVector(1., 142.7579/180.*TMath::Pi(), -27.17891/180.*TMath::Pi()),
74 ROOT::Math::Polar3DVector(1., 151.6914/180.*TMath::Pi(), -58.82094/180.*TMath::Pi()),
75 ROOT::Math::Polar3DVector(1., 135.0056/180.*TMath::Pi(), -70.6425/180.*TMath::Pi()),
76 ROOT::Math::Polar3DVector(1., 123.8915/180.*TMath::Pi(), -63.6885/180.*TMath::Pi()),
77 ROOT::Math::Polar3DVector(1., 160.0227/180.*TMath::Pi(), -36.01454/180.*TMath::Pi()),
78 ROOT::Math::Polar3DVector(1., 138.9843/180.*TMath::Pi(), -84.54967/180.*TMath::Pi()),
79 ROOT::Math::Polar3DVector(1., 167.5319/180.*TMath::Pi(), -71.97365/180.*TMath::Pi()),
80 ROOT::Math::Polar3DVector(1., 151.6914/180.*TMath::Pi(), -85.17818/180.*TMath::Pi())};
92#if ROOT_VERSION_CODE < ROOT_VERSION(6,0,0)
93 Class()->IgnoreTObjectStreamer(kTRUE);
101#if ROOT_VERSION_CODE < ROOT_VERSION(6,0,0)
102 Class()->IgnoreTObjectStreamer(kTRUE);
141 auto hilFragment = std::static_pointer_cast<const THILFragment>(frag);
142 if(!hilFragment->Good(
true)) {
143 std::cerr<<
"Bad fragment passed along to "<<__PRETTY_FUNCTION__<<std::endl;
146 for(
size_t h = 0; h < hilFragment->GermaniumMultiplicity(); ++h) {
147 TEagleHit* hit =
new TEagleHit(hilFragment->GermaniumId(h), hilFragment->GermaniumEnergy(h), hilFragment->GermaniumTime(h), hilFragment->EventTime());
148 fHits.push_back(hit);
150 for(
size_t h = 0; h < hilFragment->SiliconMultiplicity(); ++h) {
151 TPinDiodeHit* hit =
new TPinDiodeHit(hilFragment->SiliconId(h), hilFragment->SiliconEnergy(h), hilFragment->EventTime());
155 fUsTime = hilFragment->MicrosecondTime();
162 }
catch(
const std::out_of_range& oor) {
163 std::cerr<<ClassName()<<
" is out of range: "<<oor.what()<<std::endl;
177 std::ostringstream str;
178 str<<
this<<
": "<<
fHits.size()<<
" germanium and "<<
fPinDiodeHits.size()<<
" silicon hits"<<std::endl
180 for(
auto hit :
fHits) {
186 str<<
"----------------------------------------"<<std::endl;
ClassImp(THILMnemonic) void THILMnemonic
std::vector< TDetectorHit * > fHits
void Copy(TObject &) const override
!
void Clear(Option_t *="") override
!
uint16_t fUsTime
time in microseconds
void Clear(Option_t *opt="all") override
!
std::vector< TPinDiodeHit * > fPinDiodeHits
vector of pin diode hits
TEagle & operator=(const TEagle &)
!
TPinDiodeHit * GetPinDiodeHit(const int &i) const
static ROOT::Math::Polar3DVector gDiodePosition[49]
! Position of each diode
void AddFragment(const std::shared_ptr< const TFragment > &, TChannel *) override
!
uint32_t fEventNumber
event number
static ROOT::Math::Polar3DVector gDetectorPosition[17]
! Position of each detector (plus one default position)
void Copy(TObject &) const override
!
void Print(Option_t *opt="") const override
!