2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
4 /**************************************************************************
5 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
7 * full copyright notice. *
8 **************************************************************************/
10 #ifndef AliEveTPCLoader_H
11 #define AliEveTPCLoader_H
13 #include <TEveElement.h>
16 class AliRawReaderRoot;
19 class AliEveTPCSector2D;
20 class AliEveTPCSector3D;
22 //------------------------------------------------------------------------------
25 // GUI front-end for loading and displaying of TPC data in a stand-alone mode.
28 class AliEveTPCLoader : public TEveElementList
30 friend class AliEveTPCLoaderEditor;
33 AliEveTPCLoader(const Text_t* n="AliEveTPCLoader", const Text_t* t=0);
34 virtual ~AliEveTPCLoader();
36 virtual void RemoveElementLocal(TEveElement* el);
37 virtual void RemoveElementsLocal();
39 void SetFile(const Text_t* f) { fFile = f; }
40 void SetDoubleSR(Bool_t d) { fDoubleSR = d; }
42 const Text_t* GetTPCEquipementMap() const { return fTPCEquipementMap; }
43 void SetTPCEquipementMap(const Text_t* em) { fTPCEquipementMap = em; }
44 AliRawReaderRoot* GetReader() const { return fReader; }
45 void SetReader(AliRawReaderRoot* reader) { fReader = reader; }
46 AliEveTPCData* GetData() const { return fData; }
47 void SetData(AliEveTPCData* d);
51 void NextEvent(Bool_t rewindOnEnd=kTRUE);
52 void GotoEvent(Int_t event);
53 static void* LoopEvent(AliEveTPCLoader* loader);
55 void UpdateSectors(Bool_t dropNonPresent=kFALSE);
57 void CreateSectors3D();
58 void DeleteSectors3D();
60 void SetInitParams(Int_t mint, Int_t maxt, Int_t thr, Int_t maxval=128);
62 void SetCutOnEta(Bool_t cut) { fCutOnEta = cut; }
63 void SetEtaMax(Float_t max) { fEtaMax = max; }
64 void SetEtaMin(Float_t min) { fEtaMin = min; }
66 Float_t GetCutOnEta() { return fCutOnEta; }
67 Float_t GetEtaMax() { return fEtaMax; }
68 Float_t GetEtaMin() { return fEtaMin; }
71 TString fFile; // File holding raw-data.
72 Int_t fEvent; // Current event.
73 Bool_t fDoubleSR; // Set to true for double sampling-rate.
75 TString fTPCEquipementMap; // Equipement-map file-name, if set passed to raw-reader.
76 AliRawReaderRoot *fReader; // Raw-data reader.
77 AliEveTPCData *fData; // TPC data container.
79 std::vector<AliEveTPCSector2D*> fSec2Ds; // 2D sector representations.
80 std::vector<AliEveTPCSector3D*> fSec3Ds; // 3D sector representations.
82 Bool_t fSetInitSectorParams; // If true, initial parameters of 2D and 3D sectors are set from values below.
83 Int_t fInitMinTime; // Min time for display.
84 Int_t fInitMaxTime; // Max time for display.
85 Int_t fInitThreshold; // Threshold.
86 Int_t fInitMaxVal; // Maximum-signal value (all signals above mapped to saturation color).
88 Bool_t fCutOnEta; // Bool for apply eta cut
89 Float_t fEtaMax; // Maximum eta value for cut
90 Float_t fEtaMin; // Minimum eta value for cut
93 AliEveTPCLoader(const AliEveTPCLoader&); // Not implemented
94 AliEveTPCLoader& operator=(const AliEveTPCLoader&); // Not implemented
96 ClassDef(AliEveTPCLoader, 0); // Front-end for stand-alone inspection of TPC raw-data.