]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveHLT/AliEveHOMERSource.h
effc++ warnings corrected
[u/mrichter/AliRoot.git] / EVE / EveHLT / AliEveHOMERSource.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 **************************************************************************/
9
a15e6d7d 10#ifndef AliEveAliEVEHOMERSource_H
11#define AliEveAliEVEHOMERSource_H
d810d0de 12
13#include <TEveElement.h>
14
15#include <TNamed.h>
16
17class AliHLTHOMERSourceDesc;
18
19class AliEveHOMERSource : public TEveElement,
a15e6d7d 20 public TNamed
d810d0de 21{
22private:
23 AliEveHOMERSource(const AliEveHOMERSource&); // Not implemented
24 AliEveHOMERSource& operator=(const AliEveHOMERSource&); // Not implemented
25
a15e6d7d 26public:
27 struct SourceId
28 {
c61a7285 29 SourceId(): fDet(), fSDet(), fSSDet(), fType() {}
a15e6d7d 30 TString fDet, fSDet, fSSDet, fType;
31
32 struct CmpByDet
33 {
34 bool operator()(const SourceId& s1, const SourceId& s2)
35 {
36 Int_t r;
37 if ((r = s1.fDet .CompareTo(s2.fDet) )) return r < 0;
38 if ((r = s1.fSDet .CompareTo(s2.fSDet) )) return r < 0;
39 if ((r = s1.fSSDet.CompareTo(s2.fSSDet))) return r < 0;
40 if ((r = s1.fType .CompareTo(s2.fType) )) return r < 0;
41 return false;
42 }
43 };
44
45 struct CmpByType
46 {
47 bool operator()(const SourceId& s1, const SourceId& s2)
48 {
49 Int_t r;
50 if ((r = s1.fType .CompareTo(s2.fType) )) return r < 0;
51 if ((r = s1.fDet .CompareTo(s2.fDet) )) return r < 0;
52 if ((r = s1.fSDet .CompareTo(s2.fSDet) )) return r < 0;
53 if ((r = s1.fSSDet.CompareTo(s2.fSSDet))) return r < 0;
54 return false;
55 }
56 };
57
58 };
59
60 struct SourceState
61 {
62 Bool_t fState;
63 AliHLTHOMERSourceDesc *fHandle;
64
65 SourceState() : fState(kFALSE), fHandle(0) {}
66 SourceState(Bool_t state) : fState(state), fHandle(0) {}
67 };
68
d810d0de 69protected:
a15e6d7d 70 const SourceId *fSrcId;
71 SourceState *fSrcState;
d810d0de 72
73public:
74 AliEveHOMERSource(const Text_t* n="HOMER Source", const Text_t* t="");
d810d0de 75 virtual ~AliEveHOMERSource() {}
76
a15e6d7d 77 const SourceId* GetSourceId() const { return fSrcId; }
78 void SetSourceId(const SourceId* id) { fSrcId = id; }
79
80 SourceState* GetSourceState() const { return fSrcState; }
81 void SetSourceState(SourceState* st) { fSrcState = st; TEveElement::SetRnrState(st->fState); }
82
83 void SetSource(const SourceId* id, SourceState* st) { fSrcId = id; fSrcState = st; TEveElement::SetRnrState(st->fState); }
84
85 virtual Bool_t SingleRnrState() const { return kTRUE; }
86 virtual void SetRnrState(Bool_t rnr);
d810d0de 87
88 ClassDef(AliEveHOMERSource, 1);
89}; // endclass AliEveHOMERSource
90
91#endif