23 #ifndef Gw_AgataTrackDisplay
27 #ifndef ROOT_TEveRGBAPalette
28 #include "TEveRGBAPalette.h"
31 #ifndef ROOT_TEveVSDStructs
32 #include "TEveVSDStructs.h"
43 fPalette(new TEveRGBAPalette()),
71 TEveDigitSet::DigitBase_t* selectedDigit = GetDigit(idx);
74 fSelectedValue = selectedDigit->fValue;
78 SecSelected(
this, idx);
85 if (s.Contains(
"rec") )
87 else if (s.Contains(
"cone") )
89 else if (s.Contains(
"elli") )
93 fLog <<
error <<
"Undefined style for tracks, set to Rectangle" <<
nline;
102 fPalette->SetMax(Int_t(e+0.5));
103 fMaxEnergy = Int_t(e+0.5);
104 SetPalette(fPalette);
116 Float_t x2, Float_t y2, Float_t z2, Bool_t eTot)
121 if ( fStyle.Contains(
"Cone") ) {
124 dir.Set(x2-x1, y2-y1, z2-z1);
125 AddCone(pos, dir, fBoxHeight);
126 }
else if ( fStyle.Contains(
"Elliptic") ) {
129 dir.Set(x2-x1, y2-y1, z2-z1);
130 AddEllipticCone(pos, dir, fBoxHeight, fBoxHeight/2, 0);
136 DigitValue(Int_t(e+0.5));
139 fTotalEnergyArray.push_back(Int_t(e+0.5));
149 if ( fStyle.Contains(
"Cone") )
150 Reset(TEveBoxSet::kBT_Cone, kFALSE, 32);
151 else if ( fStyle.Contains(
"Elliptic") )
152 Reset(TEveBoxSet::kBT_EllipticCone, kFALSE, 32);
154 Reset(TEveBoxSet::kBT_FreeBox, kFALSE, 32);
157 fTotalEnergyArray.clear();
165 fBoxWidth = fBoxHeight = e*0.8*GetDefWidth()/fMaxEnergy + 0.2*GetDefWidth();
167 fBoxWidth = fBoxHeight = GetDefWidth()*0.2;
176 fBoxVert[2] = z1; fBoxVert[5] = z1; fBoxVert[8] = z1; fBoxVert[11] = z1;
180 fBoxVert[14] = z2; fBoxVert[17] = z2; fBoxVert[20] = z2; fBoxVert[23] = z2;
182 return fBoxVert.GetArray();
190 if (fTotalEnergyIter != fTotalEnergyArray.end()) {
191 energy = *fTotalEnergyIter;
202 return fMapIdx[index];
208 std::pair<Int_t, Int_t> p;
209 p.first = fNofTracks-1;
210 p.second = fHitIdPerTrack-1;
211 fMapIdx[GetPlex()->Size()-1] = p;
Int_t NextEnergy()
return next total energy
void SetIndexes()
Set indexes.
AgataTrackDisplay a class to display tracks on event.
LogMessage & error(LogMessage &)
ClassImp(AgataTrackDisplay) AgataTrackDisplay
void ResetTracks()
Reset tracks.
LogMessage & nline(LogMessage &)
void SetStyle(TString s)
Set style (rec/cone)
void DigitSelected(Int_t idx)
overwrite base function
void AddTracklet(Float_t e, Float_t x1, Float_t y1, Float_t z1, Float_t x2, Float_t y2, Float_t z2, Bool_t eTot=false)
Add Track.
std::pair< Int_t, Int_t > GetIndexes(Int_t index)
Get index pair.
void AddNewTrack()
Add new track, resetting counter.
void MakeSize(Float_t e)
Make track size.
void SetMaxEnergy(Float_t e)
Set Max energy.
Float_t GetBoxWidth()
Get width/height of Box.
virtual void SetProcessMethod(const char *)
To set the current method.
virtual ~AgataTrackDisplay()
Float_t * MakeRecTVert(Float_t x1, Float_t y1, Float_t z1, Float_t x2, Float_t y2, Float_t z2)
log message