ROOT logo
// $Id$
// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007

/**************************************************************************
 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
 * full copyright notice.                                                 *
 **************************************************************************/

#include "AliEveTRDModule.h"
#include "AliEveTRDModuleImp.h"

#include "TGButton.h"
#include "TGColorSelect.h"
#include "TGNumberEntry.h"
#include "TG3DLine.h"

#include "TEveManager.h"

ClassImp(AliEveTRDModule)
ClassImp(AliEveTRDModuleEditor)

//______________________________________________________________________________
AliEveTRDModule::AliEveTRDModule(const char *typ, Int_t det) :
  TNamed(Form("%s%03d", typ, det), ""),
  fLoadHits (kFALSE),
  fRnrHits  (kTRUE),

  fLoadDigits (kFALSE),
  fRnrDigits  (kTRUE),
  fDigitsLog  (kFALSE),
  fDigitsBox  (kFALSE),
  fDigitsNeedRecompute (kTRUE),

  fLoadRecPoints (kFALSE),
  fRnrRecPoints  (kTRUE),

  fLoadTracklets (kFALSE),
  fRnrTracklets  (kTRUE),

  fDet             (det),
  fDigitsThreshold (15)
{
  // Constructor.
}

///////////////////////////////////////////////////////////
//////////   AliEveTRDModuleEditor       //////////////////
///////////////////////////////////////////////////////////

//______________________________________________________________________________
AliEveTRDModuleEditor::AliEveTRDModuleEditor(const TGWindow* p, Int_t width, Int_t height,
					     UInt_t options, Pixel_t back) :
  TGedFrame(p, width, height, options | kVerticalFrame, back),
  fM (0),
  fDisplayHits(0),
  fHitsColor(0),
  fDisplayDigits(0), fToggleLog(0), fToggleBox(0), fThreshold(0),
  fThresValue(0),
  fDisplayClusters(0),
  fClustersColor(0),
  fDisplayTracks(0)
{
  // Constructor.

  MakeTitle("TRD Detector");

  // "Hits" group frame
  TGGroupFrame *fGroupFrame615 = new TGGroupFrame(this,"Hits");
  fDisplayHits = new TGCheckButton(fGroupFrame615,"Display");
  fDisplayHits->SetToolTipText("Display hits attached to chamber");
  fDisplayHits->SetState(kButtonDown);
  fGroupFrame615->AddFrame(fDisplayHits, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY | kLHintsExpandX,2,2,2,2));
  fDisplayHits->Connect("Clicked()",
			"AliEveTRDModuleEditor", this, "UpdateChamber()");

  // color select widget
  ULong_t lColPar1;
  gClient->GetColorByName("#ff00ff", lColPar1);
  fHitsColor = new TGColorSelect(fGroupFrame615, lColPar1, -1);

  fGroupFrame615->AddFrame(fHitsColor, new TGLayoutHints(kLHintsLeft | kLHintsCenterX | kLHintsTop | kLHintsCenterY,2,2,2,2));
  fHitsColor->Connect("ColorSelected(Pixel_t)",
		      "AliEveTRDModuleEditor", this, "UpdateHits(Pixel_t)");

  fGroupFrame615->SetLayoutManager(new TGVerticalLayout(fGroupFrame615));
  AddFrame(fGroupFrame615, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY | kLHintsExpandX,2,2,2,2));

  // "Digits" group frame
  TGGroupFrame *fGroupFrame636 = new TGGroupFrame(this,"Digits");
  TGVerticalFrame *fVerticalFrame538 = new TGVerticalFrame(fGroupFrame636,68,63,kVerticalFrame);
  fDisplayDigits = new TGCheckButton(fVerticalFrame538,"Display");
  fDisplayDigits->SetState(kButtonDown);
  fDisplayDigits->SetToolTipText("Toggle display digits attached to chamber");
  fVerticalFrame538->AddFrame(fDisplayDigits, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY | kLHintsExpandX,2,2,2,2));
  fDisplayDigits->Connect("Clicked()",
			  "AliEveTRDModuleEditor", this, "UpdateChamber()");
  fToggleLog = new TGCheckButton(fVerticalFrame538,"Log");
  fToggleLog->SetState(kButtonUp);
  fToggleLog->SetToolTipText("Toggle logarithmic representation of digits");
  fVerticalFrame538->AddFrame(fToggleLog, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY | kLHintsExpandX,2,2,2,2));
  fToggleLog->Connect("Clicked()",
		      "AliEveTRDModuleEditor", this, "ModifyDigitsView()");

  fToggleBox = new TGCheckButton(fVerticalFrame538,"Box");
  fToggleBox->SetState(kButtonUp);
  fToggleBox->SetToolTipText("Toggle display digits as boxes");
  fVerticalFrame538->AddFrame(fToggleBox, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY | kLHintsExpandX,2,2,2,2));
  fToggleBox->Connect("Clicked()",
		      "AliEveTRDModuleEditor", this, "ModifyDigitsView()");
  fGroupFrame636->AddFrame(fVerticalFrame538, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));

  TGVertical3DLine *fVertical3DLine773 = new TGVertical3DLine(fGroupFrame636,8,63);
  fGroupFrame636->AddFrame(fVertical3DLine773, new TGLayoutHints(kLHintsLeft | kLHintsCenterX | kLHintsTop | kLHintsExpandY,2,2,2,2));

  // vertical frame
  TGVerticalFrame *fVerticalFrame543 = new TGVerticalFrame(fGroupFrame636,81,47,kVerticalFrame);
  fThreshold = new TGCheckButton(fVerticalFrame543, "Threshold");
  fThreshold->SetToolTipText("Toggle threshold updating display");
  fVerticalFrame543->AddFrame(fThreshold, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY | kLHintsExpandX,2,2,2,2));
  fThresValue = new TGNumberEntry(fVerticalFrame543, (Int_t)10, 5, -1, TGNumberFormat::kNESInteger, TGNumberFormat::kNEAPositive, TGNumberFormat::kNELLimitMinMax, 0, 1024);
  fThresValue->Connect("ValueSet(Long_t)",
		       "AliEveTRDModuleEditor", this, "SetThreshold(Long_t)");
  fVerticalFrame543->AddFrame(fThresValue, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY | kLHintsExpandX,2,2,2,2));

  fGroupFrame636->AddFrame(fVerticalFrame543, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));

  fGroupFrame636->SetLayoutManager(new TGHorizontalLayout(fGroupFrame636));
  AddFrame(fGroupFrame636, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY | kLHintsExpandX,2,2,2,2));

  // "Clusters" group frame
  TGGroupFrame *fGroupFrame649 = new TGGroupFrame(this,"Clusters");
  fDisplayClusters = new TGCheckButton(fGroupFrame649,"Display");
  fDisplayClusters->SetToolTipText("Display clusters attached to chamber");
  fGroupFrame649->AddFrame(fDisplayClusters, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY | kLHintsExpandX,2,2,2,2));
  fDisplayClusters->SetState(kButtonDown);
  fDisplayClusters->Connect("Clicked()",
			    "AliEveTRDModuleEditor", this, "UpdateChamber()");

  // color select widget
  ULong_t lColPar2;
  gClient->GetColorByName("#ff00ff", lColPar2);
  fClustersColor = new TGColorSelect(fGroupFrame649, lColPar2, -1);

  fGroupFrame649->AddFrame(fClustersColor, new TGLayoutHints(kLHintsLeft | kLHintsCenterX | kLHintsTop | kLHintsCenterY,2,2,2,2));
  fClustersColor->Connect("ColorSelected(Pixel_t)",
			  "AliEveTRDModuleEditor", this, "UpdateClusters(Pixel_t)");

  fGroupFrame649->SetLayoutManager(new TGVerticalLayout(fGroupFrame649));
  AddFrame(fGroupFrame649, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY | kLHintsExpandX,2,2,2,2));

  // "Tracks" group frame
  TGGroupFrame *fGroupFrame676 = new TGGroupFrame(this,"Tracklets");
  fDisplayTracks = new TGCheckButton(fGroupFrame676,"Display");
  fDisplayTracks->SetToolTipText("Display MCM tracklets attached to chamber");
  fGroupFrame676->AddFrame(fDisplayTracks, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY | kLHintsExpandX,2,2,2,2));
  fDisplayTracks->SetState(kButtonDown);
  fDisplayTracks->Connect("Clicked()",
			  "AliEveTRDModuleEditor", this, "UpdateChamber()");

  fGroupFrame676->SetLayoutManager(new TGVerticalLayout(fGroupFrame676));
  AddFrame(fGroupFrame676, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY | kLHintsExpandX,2,2,2,2));
}

//______________________________________________________________________________
void AliEveTRDModuleEditor::SetModel(TObject* obj)
{
  // Set model object.

  if(!(fM = dynamic_cast<AliEveTRDModule*>(obj))) return;

  if(AliEveTRDNode *node = dynamic_cast<AliEveTRDNode*>(fM)) node->UpdateNode();

  fDisplayHits->SetEnabled(fM->fLoadHits);
  if(fM->fLoadHits) fDisplayHits->SetState( fM->fRnrHits ? kButtonDown : kButtonUp);

  fDisplayDigits->SetEnabled(fM->fLoadDigits);
  fToggleLog->SetEnabled(fM->fLoadDigits);
  fToggleBox->SetEnabled(fM->fLoadDigits);
  fThreshold->SetEnabled(fM->fLoadDigits);
  fThresValue->GetNumberEntry()->SetEnabled(fM->fLoadDigits);
  fThresValue->GetButtonDown()->SetEnabled(fM->fLoadDigits);
  fThresValue->GetButtonUp()->SetEnabled(fM->fLoadDigits);
  fThresValue->SetIntNumber(fM->fDigitsThreshold);
  if(fM->fLoadDigits){
    fDisplayDigits->SetState(fM->fRnrDigits ? kButtonDown : kButtonUp);
    fToggleLog->SetState(fM->fDigitsLog ? kButtonDown : kButtonUp);
    fToggleBox->SetState(fM->fDigitsBox ? kButtonDown : kButtonUp);
    fThreshold->SetState(fM->fDigitsNeedRecompute ? kButtonDown : kButtonUp);
  }

  if(fM->fLoadRecPoints) fDisplayClusters->SetState(fM->fRnrRecPoints ? kButtonDown : kButtonUp);
  else fDisplayClusters->SetEnabled(kFALSE);

  if(fM->fLoadTracklets) fDisplayTracks->SetState(fM->fRnrTracklets ? kButtonDown : kButtonUp);
  else fDisplayTracks->SetEnabled(kFALSE);
}

//______________________________________________________________________________
void AliEveTRDModuleEditor::ModifyDigitsView()
{
  // Slor to modify digit view.

  fM->fDigitsNeedRecompute = kTRUE;
  UpdateChamber();
}

//______________________________________________________________________________
void AliEveTRDModuleEditor::SetThreshold(Long_t tres)
{
  // Slot for SetThreshold.

  if(!fM->fLoadDigits) return;

  fM->fDigitsThreshold = (tres == 0) ? (int)fThresValue->GetNumber():tres;
  fM->fDigitsNeedRecompute = fThreshold->IsDown();
  UpdateChamber();
}


//______________________________________________________________________________
void AliEveTRDModuleEditor::UpdateChamber()
{
  //	Info("UpdateChamber()", "");

  fM->fRnrHits = kFALSE;
  if(fDisplayHits->IsDown()) fM->fRnrHits = kTRUE;

  fM->fRnrDigits = kFALSE;
  if(fDisplayDigits->IsDown()){
    fM->fRnrDigits = kTRUE;
    if(fToggleLog->IsDown()) fM->fDigitsLog = kTRUE;
    else  fM->fDigitsLog = kFALSE;
    if(fToggleBox->IsDown()) fM->fDigitsBox = kTRUE;
    else  fM->fDigitsBox = kFALSE;
  }

  fM->fRnrRecPoints = kFALSE;
  if(fDisplayClusters->IsDown()) fM->fRnrRecPoints = kTRUE;

  fM->fRnrTracklets = kFALSE;
  if(fDisplayTracks->IsDown()) fM->fRnrTracklets = kTRUE;

  AliEveTRDNode *node(NULL);
  if((node = dynamic_cast<AliEveTRDNode*>(fM))) node->UpdateLeaves();

  gEve->Redraw3D();
}

//______________________________________________________________________________
void AliEveTRDModuleEditor::UpdateClusters(Pixel_t /*col*/)
{
  //	Info("UpdateClusters()","");
  /*
    if(fM->fRecPoints){
    fM->fRecPoints->SetMarkerColor(col ? fHitsColor->GetColor() : col);
    gEve->Redraw3D();
    }
  */
}

//______________________________________________________________________________
void AliEveTRDModuleEditor::UpdateHits(Pixel_t /*col*/)
{
  //	Info("UpdateHits()","");
  /*
    if(fM->fHits){
    fM->fHits->SetMarkerColor(col ? fClustersColor->GetColor() : col);
    gEve->Redraw3D();
    }
  */
}
 AliEveTRDModule.cxx:1
 AliEveTRDModule.cxx:2
 AliEveTRDModule.cxx:3
 AliEveTRDModule.cxx:4
 AliEveTRDModule.cxx:5
 AliEveTRDModule.cxx:6
 AliEveTRDModule.cxx:7
 AliEveTRDModule.cxx:8
 AliEveTRDModule.cxx:9
 AliEveTRDModule.cxx:10
 AliEveTRDModule.cxx:11
 AliEveTRDModule.cxx:12
 AliEveTRDModule.cxx:13
 AliEveTRDModule.cxx:14
 AliEveTRDModule.cxx:15
 AliEveTRDModule.cxx:16
 AliEveTRDModule.cxx:17
 AliEveTRDModule.cxx:18
 AliEveTRDModule.cxx:19
 AliEveTRDModule.cxx:20
 AliEveTRDModule.cxx:21
 AliEveTRDModule.cxx:22
 AliEveTRDModule.cxx:23
 AliEveTRDModule.cxx:24
 AliEveTRDModule.cxx:25
 AliEveTRDModule.cxx:26
 AliEveTRDModule.cxx:27
 AliEveTRDModule.cxx:28
 AliEveTRDModule.cxx:29
 AliEveTRDModule.cxx:30
 AliEveTRDModule.cxx:31
 AliEveTRDModule.cxx:32
 AliEveTRDModule.cxx:33
 AliEveTRDModule.cxx:34
 AliEveTRDModule.cxx:35
 AliEveTRDModule.cxx:36
 AliEveTRDModule.cxx:37
 AliEveTRDModule.cxx:38
 AliEveTRDModule.cxx:39
 AliEveTRDModule.cxx:40
 AliEveTRDModule.cxx:41
 AliEveTRDModule.cxx:42
 AliEveTRDModule.cxx:43
 AliEveTRDModule.cxx:44
 AliEveTRDModule.cxx:45
 AliEveTRDModule.cxx:46
 AliEveTRDModule.cxx:47
 AliEveTRDModule.cxx:48
 AliEveTRDModule.cxx:49
 AliEveTRDModule.cxx:50
 AliEveTRDModule.cxx:51
 AliEveTRDModule.cxx:52
 AliEveTRDModule.cxx:53
 AliEveTRDModule.cxx:54
 AliEveTRDModule.cxx:55
 AliEveTRDModule.cxx:56
 AliEveTRDModule.cxx:57
 AliEveTRDModule.cxx:58
 AliEveTRDModule.cxx:59
 AliEveTRDModule.cxx:60
 AliEveTRDModule.cxx:61
 AliEveTRDModule.cxx:62
 AliEveTRDModule.cxx:63
 AliEveTRDModule.cxx:64
 AliEveTRDModule.cxx:65
 AliEveTRDModule.cxx:66
 AliEveTRDModule.cxx:67
 AliEveTRDModule.cxx:68
 AliEveTRDModule.cxx:69
 AliEveTRDModule.cxx:70
 AliEveTRDModule.cxx:71
 AliEveTRDModule.cxx:72
 AliEveTRDModule.cxx:73
 AliEveTRDModule.cxx:74
 AliEveTRDModule.cxx:75
 AliEveTRDModule.cxx:76
 AliEveTRDModule.cxx:77
 AliEveTRDModule.cxx:78
 AliEveTRDModule.cxx:79
 AliEveTRDModule.cxx:80
 AliEveTRDModule.cxx:81
 AliEveTRDModule.cxx:82
 AliEveTRDModule.cxx:83
 AliEveTRDModule.cxx:84
 AliEveTRDModule.cxx:85
 AliEveTRDModule.cxx:86
 AliEveTRDModule.cxx:87
 AliEveTRDModule.cxx:88
 AliEveTRDModule.cxx:89
 AliEveTRDModule.cxx:90
 AliEveTRDModule.cxx:91
 AliEveTRDModule.cxx:92
 AliEveTRDModule.cxx:93
 AliEveTRDModule.cxx:94
 AliEveTRDModule.cxx:95
 AliEveTRDModule.cxx:96
 AliEveTRDModule.cxx:97
 AliEveTRDModule.cxx:98
 AliEveTRDModule.cxx:99
 AliEveTRDModule.cxx:100
 AliEveTRDModule.cxx:101
 AliEveTRDModule.cxx:102
 AliEveTRDModule.cxx:103
 AliEveTRDModule.cxx:104
 AliEveTRDModule.cxx:105
 AliEveTRDModule.cxx:106
 AliEveTRDModule.cxx:107
 AliEveTRDModule.cxx:108
 AliEveTRDModule.cxx:109
 AliEveTRDModule.cxx:110
 AliEveTRDModule.cxx:111
 AliEveTRDModule.cxx:112
 AliEveTRDModule.cxx:113
 AliEveTRDModule.cxx:114
 AliEveTRDModule.cxx:115
 AliEveTRDModule.cxx:116
 AliEveTRDModule.cxx:117
 AliEveTRDModule.cxx:118
 AliEveTRDModule.cxx:119
 AliEveTRDModule.cxx:120
 AliEveTRDModule.cxx:121
 AliEveTRDModule.cxx:122
 AliEveTRDModule.cxx:123
 AliEveTRDModule.cxx:124
 AliEveTRDModule.cxx:125
 AliEveTRDModule.cxx:126
 AliEveTRDModule.cxx:127
 AliEveTRDModule.cxx:128
 AliEveTRDModule.cxx:129
 AliEveTRDModule.cxx:130
 AliEveTRDModule.cxx:131
 AliEveTRDModule.cxx:132
 AliEveTRDModule.cxx:133
 AliEveTRDModule.cxx:134
 AliEveTRDModule.cxx:135
 AliEveTRDModule.cxx:136
 AliEveTRDModule.cxx:137
 AliEveTRDModule.cxx:138
 AliEveTRDModule.cxx:139
 AliEveTRDModule.cxx:140
 AliEveTRDModule.cxx:141
 AliEveTRDModule.cxx:142
 AliEveTRDModule.cxx:143
 AliEveTRDModule.cxx:144
 AliEveTRDModule.cxx:145
 AliEveTRDModule.cxx:146
 AliEveTRDModule.cxx:147
 AliEveTRDModule.cxx:148
 AliEveTRDModule.cxx:149
 AliEveTRDModule.cxx:150
 AliEveTRDModule.cxx:151
 AliEveTRDModule.cxx:152
 AliEveTRDModule.cxx:153
 AliEveTRDModule.cxx:154
 AliEveTRDModule.cxx:155
 AliEveTRDModule.cxx:156
 AliEveTRDModule.cxx:157
 AliEveTRDModule.cxx:158
 AliEveTRDModule.cxx:159
 AliEveTRDModule.cxx:160
 AliEveTRDModule.cxx:161
 AliEveTRDModule.cxx:162
 AliEveTRDModule.cxx:163
 AliEveTRDModule.cxx:164
 AliEveTRDModule.cxx:165
 AliEveTRDModule.cxx:166
 AliEveTRDModule.cxx:167
 AliEveTRDModule.cxx:168
 AliEveTRDModule.cxx:169
 AliEveTRDModule.cxx:170
 AliEveTRDModule.cxx:171
 AliEveTRDModule.cxx:172
 AliEveTRDModule.cxx:173
 AliEveTRDModule.cxx:174
 AliEveTRDModule.cxx:175
 AliEveTRDModule.cxx:176
 AliEveTRDModule.cxx:177
 AliEveTRDModule.cxx:178
 AliEveTRDModule.cxx:179
 AliEveTRDModule.cxx:180
 AliEveTRDModule.cxx:181
 AliEveTRDModule.cxx:182
 AliEveTRDModule.cxx:183
 AliEveTRDModule.cxx:184
 AliEveTRDModule.cxx:185
 AliEveTRDModule.cxx:186
 AliEveTRDModule.cxx:187
 AliEveTRDModule.cxx:188
 AliEveTRDModule.cxx:189
 AliEveTRDModule.cxx:190
 AliEveTRDModule.cxx:191
 AliEveTRDModule.cxx:192
 AliEveTRDModule.cxx:193
 AliEveTRDModule.cxx:194
 AliEveTRDModule.cxx:195
 AliEveTRDModule.cxx:196
 AliEveTRDModule.cxx:197
 AliEveTRDModule.cxx:198
 AliEveTRDModule.cxx:199
 AliEveTRDModule.cxx:200
 AliEveTRDModule.cxx:201
 AliEveTRDModule.cxx:202
 AliEveTRDModule.cxx:203
 AliEveTRDModule.cxx:204
 AliEveTRDModule.cxx:205
 AliEveTRDModule.cxx:206
 AliEveTRDModule.cxx:207
 AliEveTRDModule.cxx:208
 AliEveTRDModule.cxx:209
 AliEveTRDModule.cxx:210
 AliEveTRDModule.cxx:211
 AliEveTRDModule.cxx:212
 AliEveTRDModule.cxx:213
 AliEveTRDModule.cxx:214
 AliEveTRDModule.cxx:215
 AliEveTRDModule.cxx:216
 AliEveTRDModule.cxx:217
 AliEveTRDModule.cxx:218
 AliEveTRDModule.cxx:219
 AliEveTRDModule.cxx:220
 AliEveTRDModule.cxx:221
 AliEveTRDModule.cxx:222
 AliEveTRDModule.cxx:223
 AliEveTRDModule.cxx:224
 AliEveTRDModule.cxx:225
 AliEveTRDModule.cxx:226
 AliEveTRDModule.cxx:227
 AliEveTRDModule.cxx:228
 AliEveTRDModule.cxx:229
 AliEveTRDModule.cxx:230
 AliEveTRDModule.cxx:231
 AliEveTRDModule.cxx:232
 AliEveTRDModule.cxx:233
 AliEveTRDModule.cxx:234
 AliEveTRDModule.cxx:235
 AliEveTRDModule.cxx:236
 AliEveTRDModule.cxx:237
 AliEveTRDModule.cxx:238
 AliEveTRDModule.cxx:239
 AliEveTRDModule.cxx:240
 AliEveTRDModule.cxx:241
 AliEveTRDModule.cxx:242
 AliEveTRDModule.cxx:243
 AliEveTRDModule.cxx:244
 AliEveTRDModule.cxx:245
 AliEveTRDModule.cxx:246
 AliEveTRDModule.cxx:247
 AliEveTRDModule.cxx:248
 AliEveTRDModule.cxx:249
 AliEveTRDModule.cxx:250
 AliEveTRDModule.cxx:251
 AliEveTRDModule.cxx:252
 AliEveTRDModule.cxx:253
 AliEveTRDModule.cxx:254
 AliEveTRDModule.cxx:255
 AliEveTRDModule.cxx:256
 AliEveTRDModule.cxx:257
 AliEveTRDModule.cxx:258
 AliEveTRDModule.cxx:259
 AliEveTRDModule.cxx:260
 AliEveTRDModule.cxx:261
 AliEveTRDModule.cxx:262
 AliEveTRDModule.cxx:263
 AliEveTRDModule.cxx:264
 AliEveTRDModule.cxx:265
 AliEveTRDModule.cxx:266
 AliEveTRDModule.cxx:267
 AliEveTRDModule.cxx:268
 AliEveTRDModule.cxx:269
 AliEveTRDModule.cxx:270
 AliEveTRDModule.cxx:271
 AliEveTRDModule.cxx:272