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 AliEveAliEVEHOMERSource_H
11 #define AliEveAliEVEHOMERSource_H
13 #include <TEveElement.h>
17 class AliHLTHOMERSourceDesc;
19 class AliEveHOMERSource : public TEveElement,
25 TString fDet, fSDet, fSSDet, fType;
27 SourceId(): fDet(), fSDet(), fSSDet(), fType() {}
31 bool operator()(const SourceId& s1, const SourceId& s2) const
34 if ((r = s1.fDet .CompareTo(s2.fDet) )) return r < 0;
35 if ((r = s1.fSDet .CompareTo(s2.fSDet) )) return r < 0;
36 if ((r = s1.fSSDet.CompareTo(s2.fSSDet))) return r < 0;
37 if ((r = s1.fType .CompareTo(s2.fType) )) return r < 0;
44 bool operator()(const SourceId& s1, const SourceId& s2) const
47 if ((r = s1.fType .CompareTo(s2.fType) )) return r < 0;
48 if ((r = s1.fDet .CompareTo(s2.fDet) )) return r < 0;
49 if ((r = s1.fSDet .CompareTo(s2.fSDet) )) return r < 0;
50 if ((r = s1.fSSDet.CompareTo(s2.fSSDet))) return r < 0;
60 AliHLTHOMERSourceDesc *fHandle;
62 SourceState() : fState(kFALSE), fHandle(0) {}
63 SourceState(Bool_t state) : fState(state), fHandle(0) {}
67 AliEveHOMERSource(const Text_t* n="HOMER Source", const Text_t* t="");
68 virtual ~AliEveHOMERSource() {}
70 const SourceId* GetSourceId() const { return fSrcId; }
71 void SetSourceId(const SourceId* id) { fSrcId = id; }
73 SourceState* GetSourceState() const { return fSrcState; }
74 void SetSourceState(SourceState* st) { fSrcState = st; TEveElement::SetRnrState(st->fState); }
76 void SetSource(const SourceId* id, SourceState* st) { fSrcId = id; fSrcState = st; TEveElement::SetRnrState(st->fState); }
78 virtual Bool_t SingleRnrState() const { return kTRUE; }
79 virtual void SetRnrState(Bool_t rnr);
82 const SourceId *fSrcId;
83 SourceState *fSrcState;
86 AliEveHOMERSource(const AliEveHOMERSource&); // Not implemented
87 AliEveHOMERSource& operator=(const AliEveHOMERSource&); // Not implemented
89 ClassDef(AliEveHOMERSource, 0); // Description of an HOMER source.