reveng tag added
[u/mrichter/AliRoot.git] / TRD / AliTRDmatrix.h
CommitLineData
8230f242 1#ifndef ALITRDMATRIX_h
2#define ALITRDMATRIX_h
3da30618 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
99d5402e 7
8#include <TObject.h>
9#include <TObjArray.h>
10#include <TH2.h>
11#include <TH3.h>
12#include <TStyle.h>
13#include <TCanvas.h>
851d3db9 14
99d5402e 15#include "AliTRDpixel.h"
16
17///////////////////////////////////////////////////////
18// Stores the pixel-information of one TRD chamber //
19///////////////////////////////////////////////////////
20
21class AliTRDmatrix : public TObject {
22
99d5402e 23public:
6f1e466d 24
99d5402e 25 AliTRDmatrix();
26 AliTRDmatrix(Int_t nRow, Int_t nCol, Int_t nTime, Int_t iSec, Int_t iCha, Int_t iPla);
8230f242 27 AliTRDmatrix(AliTRDmatrix &m);
99d5402e 28 virtual ~AliTRDmatrix();
29
30 virtual void AddSignal(Int_t iRow, Int_t iCol, Int_t iTime, Float_t signal);
31 virtual Bool_t AddTrack(Int_t iRow, Int_t iCol, Int_t iTime, Int_t track);
32
8230f242 33 virtual void Copy(AliTRDmatrix &m);
34 virtual void Draw(Option_t *opt = " ");
99d5402e 35 virtual void DrawRow(Int_t iRow);
36 virtual void DrawCol(Int_t iCol);
37 virtual void DrawTime(Int_t iTime);
6f1e466d 38 virtual void ProjRow();
39 virtual void ProjCol();
40 virtual void ProjTime();
99d5402e 41
42 virtual void SetSignal(Int_t iRow, Int_t iCol, Int_t iTime, Float_t signal);
43 virtual void SetTrack(Int_t iRow, Int_t iCol, Int_t iTime
44 , Int_t iTrack, Int_t track);
45
46 virtual Float_t GetSignal(Int_t iRow, Int_t iCol, Int_t iTime);
47 virtual Int_t GetTrack(Int_t iRow, Int_t iCol, Int_t iTime, Int_t iTrack);
48
49 virtual Int_t GetSector() { return fSector; };
50 virtual Int_t GetChamber() { return fChamber; };
51 virtual Int_t GetPlane() { return fPlane; };
52
8230f242 53 inline AliTRDmatrix &operator=(AliTRDmatrix &m);
54
55protected:
56
57 virtual Int_t GetIndex(Int_t iRow, Int_t iCol, Int_t iTime);
58 virtual AliTRDpixel *GetPixel(Int_t iRow, Int_t iCol, Int_t iTime);
59
60 Int_t fRow; // Number of pad-rows
61 Int_t fCol; // Number of pad-columns
62 Int_t fTime; // Number of time buckets
63 Int_t fPixel; // Number of pixels
64 Int_t fSector; // Sector number
65 Int_t fChamber; // Chamber number
66 Int_t fPlane; // Plane number
67 TObjArray *fPixelArray; // Array of pixels
68
5c7f4665 69 ClassDef(AliTRDmatrix,1) // The TRD detector matrix for one readout chamber
99d5402e 70
71};
72
8230f242 73//_____________________________________________________________________________
74AliTRDmatrix &AliTRDmatrix::operator=(AliTRDmatrix &m)
75{
76 //
77 // Assignment operator
78 //
79
80 if (this != &m) m.Copy(*this);
81 return *this;
82
83}
84
99d5402e 85#endif