]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveDet/AliEveTPCLoader.h
Adding ALICE specific implementations of Eve
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTPCLoader.h
CommitLineData
d810d0de 1// $Id$
2// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4/**************************************************************************
5 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
51346b82 7 * full copyright notice. *
d810d0de 8 **************************************************************************/
e9a38ea3 9
a15e6d7d 10#ifndef AliEveTPCLoader_H
11#define AliEveTPCLoader_H
e9a38ea3 12
84aff7a4 13#include <TEveElement.h>
0b28fd57 14#include <vector>
e9a38ea3 15
16class AliRawReaderRoot;
17
d810d0de 18class AliEveTPCData;
19class AliEveTPCSector2D;
20class AliEveTPCSector3D;
e9a38ea3 21
a15e6d7d 22//------------------------------------------------------------------------------
23// AliEveTPCLoader
24//
25// GUI front-end for loading and displaying of TPC data in a stand-alone mode.
26//
27
d810d0de 28class AliEveTPCLoader : public TEveElementList
e9a38ea3 29{
d810d0de 30 friend class AliEveTPCLoaderEditor;
e9a38ea3 31
e9a38ea3 32public:
d810d0de 33 AliEveTPCLoader(const Text_t* n="AliEveTPCLoader", const Text_t* t=0);
34 virtual ~AliEveTPCLoader();
e9a38ea3 35
84aff7a4 36 virtual void RemoveElementLocal(TEveElement* el);
32e219c2 37 virtual void RemoveElementsLocal();
e9a38ea3 38
39 void SetFile(const Text_t* f) { fFile = f; }
8f50aad8 40 void SetDoubleSR(Bool_t d) { fDoubleSR = d; }
e9a38ea3 41
47bd7081 42 const Text_t* GetTPCEquipementMap() const { return fTPCEquipementMap; }
43 void SetTPCEquipementMap(const Text_t* em) { fTPCEquipementMap = em; }
b1e0b894 44 AliRawReaderRoot* GetReader() const { return fReader; }
45 void SetReader(AliRawReaderRoot* reader) { fReader = reader; }
d810d0de 46 AliEveTPCData* GetData() const { return fData; }
47 void SetData(AliEveTPCData* d);
e9a38ea3 48
49 void OpenFile();
50 void LoadEvent();
51 void NextEvent(Bool_t rewindOnEnd=kTRUE);
52 void GotoEvent(Int_t event);
d810d0de 53 static void* LoopEvent(AliEveTPCLoader* loader);
e9a38ea3 54
42c8253f 55 void UpdateSectors(Bool_t dropNonPresent=kFALSE);
c59e16e8 56 void ReloadSectors();
e9a38ea3 57 void CreateSectors3D();
58 void DeleteSectors3D();
59
b1e0b894 60 void SetInitParams(Int_t mint, Int_t maxt, Int_t thr, Int_t maxval=128);
e7c8d6ca 61
969e051c 62 void SetCutOnEta(Bool_t cut) { fCutOnEta = cut; }
63 void SetEtaMax(Float_t max) { fEtaMax = max; }
64 void SetEtaMin(Float_t min) { fEtaMin = min; }
65
66 Float_t GetCutOnEta() { return fCutOnEta; }
67 Float_t GetEtaMax() { return fEtaMax; }
68 Float_t GetEtaMin() { return fEtaMin; }
69
4b456ebb 70protected:
71 TString fFile; // File holding raw-data.
72 Int_t fEvent; // Current event.
73 Bool_t fDoubleSR; // Set to true for double sampling-rate.
74
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.
78
79 std::vector<AliEveTPCSector2D*> fSec2Ds; // 2D sector representations.
80 std::vector<AliEveTPCSector3D*> fSec3Ds; // 3D sector representations.
81
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).
87
969e051c 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
91
4b456ebb 92private:
93 AliEveTPCLoader(const AliEveTPCLoader&); // Not implemented
94 AliEveTPCLoader& operator=(const AliEveTPCLoader&); // Not implemented
95
96 ClassDef(AliEveTPCLoader, 0); // Front-end for stand-alone inspection of TPC raw-data.
97};
e9a38ea3 98
99#endif