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,
23 AliEveHOMERSource(const AliEveHOMERSource&); // Not implemented
24 AliEveHOMERSource& operator=(const AliEveHOMERSource&); // Not implemented
29 TString fDet, fSDet, fSSDet, fType;
33 bool operator()(const SourceId& s1, const SourceId& s2)
36 if ((r = s1.fDet .CompareTo(s2.fDet) )) return r < 0;
37 if ((r = s1.fSDet .CompareTo(s2.fSDet) )) return r < 0;
38 if ((r = s1.fSSDet.CompareTo(s2.fSSDet))) return r < 0;
39 if ((r = s1.fType .CompareTo(s2.fType) )) return r < 0;
46 bool operator()(const SourceId& s1, const SourceId& s2)
49 if ((r = s1.fType .CompareTo(s2.fType) )) return r < 0;
50 if ((r = s1.fDet .CompareTo(s2.fDet) )) return r < 0;
51 if ((r = s1.fSDet .CompareTo(s2.fSDet) )) return r < 0;
52 if ((r = s1.fSSDet.CompareTo(s2.fSSDet))) return r < 0;
62 AliHLTHOMERSourceDesc *fHandle;
64 SourceState() : fState(kFALSE), fHandle(0) {}
65 SourceState(Bool_t state) : fState(state), fHandle(0) {}
69 const SourceId *fSrcId;
70 SourceState *fSrcState;
73 AliEveHOMERSource(const Text_t* n="HOMER Source", const Text_t* t="");
74 virtual ~AliEveHOMERSource() {}
76 const SourceId* GetSourceId() const { return fSrcId; }
77 void SetSourceId(const SourceId* id) { fSrcId = id; }
79 SourceState* GetSourceState() const { return fSrcState; }
80 void SetSourceState(SourceState* st) { fSrcState = st; TEveElement::SetRnrState(st->fState); }
82 void SetSource(const SourceId* id, SourceState* st) { fSrcId = id; fSrcState = st; TEveElement::SetRnrState(st->fState); }
84 virtual Bool_t SingleRnrState() const { return kTRUE; }
85 virtual void SetRnrState(Bool_t rnr);
87 ClassDef(AliEveHOMERSource, 1);
88 }; // endclass AliEveHOMERSource