ROOT logo
#ifndef ALIEVETOFSECTOR_H
#define ALIEVETOFSECTOR_H

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

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

//
// Class to visualize the TOF digit information
// in TOF sector frame
//

#include <TEveQuadSet.h>

class TTree;

class TClonesArray;
class TGeoManager;

class TEveFrameBox;
class TEveRGBAPalette;
class TEveElement;

class AliTOFGeometry;
 
class AliEveTOFSector : public TEveQuadSet
{
public:
  AliEveTOFSector(const Text_t* n="AliEveTOFSector", const Text_t* t=0);
  AliEveTOFSector(TGeoManager *localGeoManager, Int_t nSector);
    
  AliEveTOFSector(TGeoManager *localGeoManager, Int_t nSector,
                  TClonesArray *tofArray);
  AliEveTOFSector(TGeoManager *localGeoManager,
                  Int_t nSector, TTree *tofTree);
  virtual ~AliEveTOFSector();

  virtual void InitModule();
  virtual void SetTrans(); 

  static void      InitStatics();

  void SetSectorID(Int_t id);
  void SetAutoTrans(Bool_t r){fAutoTrans=r;};
  void SetThreshold(Short_t t);
  void SetMaxVal(Int_t mv);
  Bool_t GetPlate(Int_t nPlate) const {return fPlateFlag[nPlate];};
  Short_t GetThreshold() const {return fThreshold;};
  Int_t GetMaxVal() const {return fMaxVal;};
  Bool_t GetAutoTrans() const {return fAutoTrans;};
  Int_t GetSectorID() const {return fSectorID;};
  virtual void DigitSelected(Int_t idx);
  ///////////////////////////////////////////

  void SetPlate(Int_t nPlate, Bool_t r);

protected:

  static Bool_t           fgStaticInitDone;    // flag to check on/off inizialization
  static TEveFrameBox    *fgTOFsectorFrameBox; // EVE container for TOF sector
  static TEveRGBAPalette *fgTOFsectorPalette;  // EVE container for setting of visualization parameters
 
  AliTOFGeometry *fTOFgeometry; // pointer to the TOF geometry container class

  TClonesArray   *fTOFarray;    // TOF digit array container
  TTree          *fTOFtree;     // TOF digit tree container

  Int_t fSector;     // TOF sector index
  //Int_t fPlate;
  //Int_t fStrip;

  Float_t  fDx;     // x position of TOF digit (in TOF strip RF)
  Float_t  fDy;     // y position of TOF digit (in TOF strip RF)
  Float_t  fDz;     // z position of TOF digit (in TOF strip RF)
  ///////////////////////////////

  Bool_t      fAutoTrans; // to choose if visualize the TOF sector in ALICE RF or in local RF
  //Int_t       fMinTime;     
  //Int_t       fMaxTime;
  Short_t     fThreshold; // threshold to cut on visualization
  Int_t       fMaxVal;    // max value to cut on visualization
  Int_t       fSectorID;  // TOF sector identifier
  Bool_t     *fPlateFlag; // flag to switch on/off the TOF module visualization inside a TOF SM

  //Bool_t      fPlateFlag0;
  //Bool_t      fPlateFlag1;
  //Bool_t      fPlateFlag2;
  //Bool_t      fPlateFlag3;
  //Bool_t      fPlateFlag4;

  //Color_t     fFrameColor;
  //Bool_t      fRnrFrame;

  TGeoManager *fGeoManager; // pointer to the ALICE geometry

private:
  void LoadQuads();

  AliEveTOFSector(const AliEveTOFSector&);            // Not implemented
  AliEveTOFSector& operator=(const AliEveTOFSector&); // Not implemented

  ClassDef(AliEveTOFSector, 0); // Representation of a TOF sector.
};
#endif
 AliEveTOFSector.h:1
 AliEveTOFSector.h:2
 AliEveTOFSector.h:3
 AliEveTOFSector.h:4
 AliEveTOFSector.h:5
 AliEveTOFSector.h:6
 AliEveTOFSector.h:7
 AliEveTOFSector.h:8
 AliEveTOFSector.h:9
 AliEveTOFSector.h:10
 AliEveTOFSector.h:11
 AliEveTOFSector.h:12
 AliEveTOFSector.h:13
 AliEveTOFSector.h:14
 AliEveTOFSector.h:15
 AliEveTOFSector.h:16
 AliEveTOFSector.h:17
 AliEveTOFSector.h:18
 AliEveTOFSector.h:19
 AliEveTOFSector.h:20
 AliEveTOFSector.h:21
 AliEveTOFSector.h:22
 AliEveTOFSector.h:23
 AliEveTOFSector.h:24
 AliEveTOFSector.h:25
 AliEveTOFSector.h:26
 AliEveTOFSector.h:27
 AliEveTOFSector.h:28
 AliEveTOFSector.h:29
 AliEveTOFSector.h:30
 AliEveTOFSector.h:31
 AliEveTOFSector.h:32
 AliEveTOFSector.h:33
 AliEveTOFSector.h:34
 AliEveTOFSector.h:35
 AliEveTOFSector.h:36
 AliEveTOFSector.h:37
 AliEveTOFSector.h:38
 AliEveTOFSector.h:39
 AliEveTOFSector.h:40
 AliEveTOFSector.h:41
 AliEveTOFSector.h:42
 AliEveTOFSector.h:43
 AliEveTOFSector.h:44
 AliEveTOFSector.h:45
 AliEveTOFSector.h:46
 AliEveTOFSector.h:47
 AliEveTOFSector.h:48
 AliEveTOFSector.h:49
 AliEveTOFSector.h:50
 AliEveTOFSector.h:51
 AliEveTOFSector.h:52
 AliEveTOFSector.h:53
 AliEveTOFSector.h:54
 AliEveTOFSector.h:55
 AliEveTOFSector.h:56
 AliEveTOFSector.h:57
 AliEveTOFSector.h:58
 AliEveTOFSector.h:59
 AliEveTOFSector.h:60
 AliEveTOFSector.h:61
 AliEveTOFSector.h:62
 AliEveTOFSector.h:63
 AliEveTOFSector.h:64
 AliEveTOFSector.h:65
 AliEveTOFSector.h:66
 AliEveTOFSector.h:67
 AliEveTOFSector.h:68
 AliEveTOFSector.h:69
 AliEveTOFSector.h:70
 AliEveTOFSector.h:71
 AliEveTOFSector.h:72
 AliEveTOFSector.h:73
 AliEveTOFSector.h:74
 AliEveTOFSector.h:75
 AliEveTOFSector.h:76
 AliEveTOFSector.h:77
 AliEveTOFSector.h:78
 AliEveTOFSector.h:79
 AliEveTOFSector.h:80
 AliEveTOFSector.h:81
 AliEveTOFSector.h:82
 AliEveTOFSector.h:83
 AliEveTOFSector.h:84
 AliEveTOFSector.h:85
 AliEveTOFSector.h:86
 AliEveTOFSector.h:87
 AliEveTOFSector.h:88
 AliEveTOFSector.h:89
 AliEveTOFSector.h:90
 AliEveTOFSector.h:91
 AliEveTOFSector.h:92
 AliEveTOFSector.h:93
 AliEveTOFSector.h:94
 AliEveTOFSector.h:95
 AliEveTOFSector.h:96
 AliEveTOFSector.h:97
 AliEveTOFSector.h:98
 AliEveTOFSector.h:99
 AliEveTOFSector.h:100
 AliEveTOFSector.h:101
 AliEveTOFSector.h:102
 AliEveTOFSector.h:103
 AliEveTOFSector.h:104
 AliEveTOFSector.h:105
 AliEveTOFSector.h:106
 AliEveTOFSector.h:107
 AliEveTOFSector.h:108
 AliEveTOFSector.h:109