]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Reve/QuadSet.h
Support for automatic pedestal estimation per pad (Marian and Matevz).
[u/mrichter/AliRoot.git] / EVE / Reve / QuadSet.h
CommitLineData
a8b53f69 1// $Header$
2
5a5a1232 3#ifndef REVE_QuadSet_H
4#define REVE_QuadSet_H
5
6#include <Gtypes.h>
7#include <TNamed.h>
8#include <TAtt3D.h>
9#include <TAttBBox.h>
10
11#include <vector>
12
13class TRandom;
14
15namespace Reve {
16
17struct Quad
18{
19 Float_t vertices[12];
20 Int_t color;
21
22 void ColorFromIdx(Color_t ci);
23
24 Quad(Color_t col = 1)
25 { ColorFromIdx(col); }
26
27 Quad(Color_t col, Float_t* p)
28 { ColorFromIdx(col); memcpy(vertices, p, 12*sizeof(Float_t)); }
29
30 Quad(TRandom& rnd, Float_t origin, Float_t size);
31
32 Quad(const Quad& org) { memcpy(this, &org, sizeof(Quad)); }
33
a8b53f69 34 virtual ~Quad() {}
35
5a5a1232 36 ClassDef(Quad, 1);
37};
38
39/**************************************************************************/
40
41class QuadSet : public TNamed, public TAtt3D, public TAttBBox
42{
43 friend class QuadSetGL;
44
45 void Init();
46
47protected:
48 std::vector<Quad> fQuads;
49 Double_t fMatrix[16];
50 Bool_t fTrans;
51
52public:
53 QuadSet(const Text_t* n="QuadSet", const Text_t* t="") : TNamed(n, t)
54 { Init(); }
a8b53f69 55 virtual ~QuadSet() {}
5a5a1232 56
57 Bool_t GetTrans() const { return fTrans; }
58 void SetTrans(Bool_t t) { fTrans = t; }
59
60 void Test(Int_t nquads);
61
62 virtual void ComputeBBox();
63
64 virtual void Paint(Option_t* option = "");
65
66 ClassDef(QuadSet, 1);
67};
68
69} // namespace Reve
70
71#endif