]>
Commit | Line | Data |
---|---|---|
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 | |
16 | class AliRawReaderRoot; | |
17 | ||
d810d0de | 18 | class AliEveTPCData; |
19 | class AliEveTPCSector2D; | |
20 | class 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 | 28 | class AliEveTPCLoader : public TEveElementList |
e9a38ea3 | 29 | { |
d810d0de | 30 | friend class AliEveTPCLoaderEditor; |
e9a38ea3 | 31 | |
e9a38ea3 | 32 | public: |
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 | 70 | protected: |
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 | 92 | private: |
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 |