FEDRA emulsion software from the OPERA Collaboration
EdbImage.h
Go to the documentation of this file.
1#ifndef ROOT_EdbImage
2#define ROOT_EdbImage
5
14
15#include "TObject.h"
16#include "TArrayC.h"
17#include "TArrayD.h"
18
19class TH2F;
20class TH1F;
21
22//______________________________________________________________________________
23class EdbImage : public TObject {
24
25private:
26
27 Int_t eColumns;
28 Int_t eRows;
29
30 Int_t eColors;
31
32 TArrayC *eBuffer;
33 Int_t eBytes;
34
35public:
37 EdbImage( char *file, char *format="PGM" );
38 EdbImage( int columns, int rows, char *image, int col=256 );
39 virtual ~EdbImage();
40
41
42 virtual void Set0();
43 virtual void Print( Option_t *opt="" ) const;
44
45 void AdoptImage(int columns, int rows, char *image, int col=256);
46
47 void SetColors(int col) {eColors=col;}
48 char *GetBuffer() const { return eBuffer->GetArray(); }
49 Int_t FillBufferDouble(TArrayD &image) const;
50 int Pixel(int c, int r) const
51 { if(r<0) return 0; if(r>eRows) return 0;
52 if(c<0) return 0; if(c>eColumns) return 0;
53 return Pixel(eColumns*r + c); }
54 int Pixel(int ipix) const
55 { return (int)(((unsigned char*)(eBuffer->GetArray()))[ipix]); }
56 TH2F *GetHist2(int flip=0) const;
57 TH1F *GetHist1() const;
58
59 Int_t Width() const {return eColumns;}
60 Int_t Height() const {return eRows;}
61 Int_t LoadPGM( char *file );
62 Int_t LoadRAW( char *file );
63 Int_t LoadBMP( char *file );
64
65 Int_t DumpPGM( char *file );
66
67 ClassDef(EdbImage,2) // CCD Image in bytemap format
68};
69
70#endif /* ROOT_EdbImage */
71
Definition: EdbImage.h:23
char * GetBuffer() const
Definition: EdbImage.h:48
Int_t Height() const
Definition: EdbImage.h:60
virtual ~EdbImage()
Definition: EdbImage.cxx:48
Int_t LoadPGM(char *file)
Definition: EdbImage.cxx:217
TArrayC * eBuffer
body of the image buffer
Definition: EdbImage.h:32
void SetColors(int col)
Definition: EdbImage.h:47
Int_t LoadBMP(char *file)
Definition: EdbImage.cxx:308
Int_t Width() const
Definition: EdbImage.h:59
virtual void Print(Option_t *opt="") const
Definition: EdbImage.cxx:134
TH2F * GetHist2(int flip=0) const
Definition: EdbImage.cxx:158
Int_t DumpPGM(char *file)
Definition: EdbImage.cxx:282
Int_t LoadRAW(char *file)
Definition: EdbImage.cxx:182
Int_t FillBufferDouble(TArrayD &image) const
Definition: EdbImage.cxx:124
TH1F * GetHist1() const
Definition: EdbImage.cxx:140
virtual void Set0()
Definition: EdbImage.cxx:81
Int_t eBytes
number of significative bytes in the buffer
Definition: EdbImage.h:33
Int_t eColors
maximal height of pixel (normally 256)
Definition: EdbImage.h:30
void AdoptImage(int columns, int rows, char *image, int col=256)
Definition: EdbImage.cxx:113
int Pixel(int ipix) const
Definition: EdbImage.h:54
Int_t eColumns
number of columns of the matrix (1 row length)
Definition: EdbImage.h:27
Int_t eRows
number of rows of the matrix
Definition: EdbImage.h:28
int Pixel(int c, int r) const
Definition: EdbImage.h:50
TFile * file
Definition: write_pvr.C:3
const char * opt
Definition: mc2raw.cxx:42
void r(int rid=2)
Definition: test.C:201