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;
31 SourceId(): fDet(), fSDet(), fSSDet(), fType() {}
35 bool operator()(const SourceId& s1, const SourceId& s2) const
38 if ((r = s1.fDet .CompareTo(s2.fDet) )) return r < 0;
39 if ((r = s1.fSDet .CompareTo(s2.fSDet) )) return r < 0;
40 if ((r = s1.fSSDet.CompareTo(s2.fSSDet))) return r < 0;
41 if ((r = s1.fType .CompareTo(s2.fType) )) return r < 0;
48 bool operator()(const SourceId& s1, const SourceId& s2) const
51 if ((r = s1.fType .CompareTo(s2.fType) )) return r < 0;
52 if ((r = s1.fDet .CompareTo(s2.fDet) )) return r < 0;
53 if ((r = s1.fSDet .CompareTo(s2.fSDet) )) return r < 0;
54 if ((r = s1.fSSDet.CompareTo(s2.fSSDet))) return r < 0;
64 AliHLTHOMERSourceDesc *fHandle;
66 SourceState() : fState(kFALSE), fHandle(0) {}
67 SourceState(Bool_t state) : fState(state), fHandle(0) {}
71 const SourceId *fSrcId;
72 SourceState *fSrcState;
75 AliEveHOMERSource(const Text_t* n="HOMER Source", const Text_t* t="");
76 virtual ~AliEveHOMERSource() {}
78 const SourceId* GetSourceId() const { return fSrcId; }
79 void SetSourceId(const SourceId* id) { fSrcId = id; }
81 SourceState* GetSourceState() const { return fSrcState; }
82 void SetSourceState(SourceState* st) { fSrcState = st; TEveElement::SetRnrState(st->fState); }
84 void SetSource(const SourceId* id, SourceState* st) { fSrcId = id; fSrcState = st; TEveElement::SetRnrState(st->fState); }
86 virtual Bool_t SingleRnrState() const { return kTRUE; }
87 virtual void SetRnrState(Bool_t rnr);
89 ClassDef(AliEveHOMERSource, 1);
90 }; // endclass AliEveHOMERSource