ROOT logo
TCTAnalyse » . » PSTCT

class PSTCT: public TCTReflect

Function Members (Methods)

public:
PSTCT(const PSTCT&)
PSTCT(Char_t*, Float_t = 0, Int_t = 0)
~PSTCT()
TH1F*AverageGetHA(Int_t, Int_t = -1111, Int_t = -1111, Int_t = 0, Int_t = 0, Int_t = 0, Int_t = 0, Int_t = 0)
static TClass*Class()
voidcords(Int_t)
voidcords(Int_t x, Int_t y, Int_t z, Int_t u1, Int_t u2)
voidCorrectBaseLine(Float_t = 0.0)
voidTCTReflect::CorrRefl(TH1F*)
TH1F*TCTReflect::CorrReflCopy(TH1F* his)
TH2F*Draw(Int_t = 0, Int_t = 0, Int_t = 0, Int_t = 0, Int_t = 0, Int_t = 0, Float_t = 0, Float_t = 25)
TGraph*DrawArray(Int_t, Int_t)
voidDrawList(Int_t, Int_t*)
voidDrawList(Int_t, Int_t*, Int_t*)
TH1F*GetHA(Int_t, Int_t)
TH1F*GetHA(Int_t, Int_t, Int_t, Int_t, Int_t = 0, Int_t = 0)
TGraph*GetIV()
Float_tGetWidth(TH1F*, Int_t&, Int_t&, Float_t = 0, Float_t = 25, Float_t = -1111, Float_t = -1111, Int_t = 50)
Int_tindx(Int_t, Int_t, Int_t, Int_t, Int_t)
virtual TClass*IsA() const
TH1F*ModGetHA(Int_t, Int_t, Float_t = -1111, Float_t = -1111)
TH1F*ModGetHA(Int_t, Int_t, Int_t, Int_t, Int_t = 0, Int_t = 0, Float_t = -1111, Float_t = -1111)
PSTCT&operator=(const PSTCT&)
voidPrintInfo()
MeasureWF*Projection(int, int*)
MeasureWF*Projection(int ch, int dir, int x, int y, int z, int nu1, int nu2, int num)
voidReadWFs(Float_t = 0)
voidReadWFsBin(Float_t = 0)
voidTCTReflect::SetSubRefWF(TH1F*)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
TH1F*TCTReflect::SubRefWF(TH1F*, Int_t = 1)
private:
voidswoo(char*, char*)
voidswooip(float*, int)

Data Members

public:
Char_t*CommentComment
TArrayIDateDate of the Measurement (or simulation)
TArrayFI1
TArrayFI2Array of voltages
Int_tNP
Int_tNU1
Int_tNU2
Int_tNx
Int_tNy
Int_tNz
Float_tTCTReflect::RefC
Int_tRefInd
Float_tTCTReflect::RefTe
Float_tTCTReflect::RefTs
Char_t*SampleSample name
Float_tSourcetype of e-h generation
TH1F*TCTReflect::SubHis
Int_tTCTReflect::SubHisCopy
Float_tTtemperature
TArrayFU1
TArrayFU2
Char_t*Useruser taking the measurements
Int_tWFOnOff[4]
Int_tabstime
Float_tdt
Float_tdx
Float_tdy
Float_tdz
TClonesArray*histo1->
TClonesArray*histo2->
TClonesArray*histo3->
TClonesArray*histo4->
FILE*in
Int_tnumxyz
Float_tt0
TArrayFtata coordinates coresponing to histo array
Int_ttype
Float_tx0
Float_t*xyz[22]x coordinates coresponing to histo array change from 8 -> 12 for type 82
Float_ty0
Float_tz0
private:
intBLE_CODE

Class Charts

Inheritance Chart:
TCTReflect
PSTCT

Function documentation

PSTCT(Char_t* , Float_t = 0, Int_t = 0)
 Class for manipulation of the 3D/Position Sensitive TCT Measurements

 char *FileName;  name of the file with data
 Float_t time0 ;  time shift of the points. Used mainly to set the arrival of the laser pulse at t=0 ns;
 Int Bin; Selects the timeformat of the measurements;
          0 - ascii (default) older format has a type 11 while newer has type 22
          1 - binary (prefered in new measurements)
          2 - binary (little endian)
 Example of use :
 // Convert into MeasureWF along projection
 PSTCT aa("../Meritve/scanz-grobo-1.tct", 92.2,1); // The second parameter is to set the scale such that signal start at t=0;
 aa.CorrectBaseLine();   // Baseline correction
 aa.PrintInfo();         // Information about the read data
 // example of projection the data along Y, 41 point at indexes of Z=23,X=0, U1=0, U2=0;
 MeasureWF *wf=aa.Projection(0,1,0,0,23,0,0,41);
 strcpy(wf.suffix," #mum");
 strcpy(wf.prefix,"Y=");
 //Draw waveforms and substract the 0 waveform from the rest (cancel oscilations
 wf.DrawMulti(-1,40,1,40,4,0,0);
void ReadWFsBin(Float_t = 0)
 read in binary waveforms
void ReadWFs(Float_t = 0)
TH1F * GetHA(Int_t , Int_t )
TH1F * GetHA(Int_t , Int_t , Int_t , Int_t , Int_t = 0, Int_t = 0)
TH1F * ModGetHA(Int_t , Int_t , Float_t = -1111, Float_t = -1111)
 his = his1 - his 2
 his2 default graf (index2 = 0 default)
TH1F * ModGetHA(Int_t , Int_t , Int_t , Int_t , Int_t = 0, Int_t = 0, Float_t = -1111, Float_t = -1111)
TH1F * AverageGetHA(Int_t , Int_t = -1111, Int_t = -1111, Int_t = 0, Int_t = 0, Int_t = 0, Int_t = 0, Int_t = 0)
 Function is used to get the average wafeform:
 Int_t ch; channel number - amplifier number
 Int_t start; start index of the average
 Int_t stop;  stop index of the average
 Int_t avrg; decides over which direction it calcultes the average
avrg = 0  -> x
avrg = 1  -> y
avrg = 2  -> z
avrg = 3  -> U1
avrg = 4  -> U2
 Int_t v1,v2,v3,v4; are the indexes of the other paramters in the same order as for average
Int_t indx(Int_t , Int_t , Int_t , Int_t , Int_t )
 Function returns the index of the position of the waveform corresponding to x,y,z,nu1,nu2 in the linear array of waveforms.
 int x; index in the X direction
 int y; index in the Y direction
 int z; index in the Z direction
 int nu1; index of desired votlage (1)
 int nu2; index of desired voltage (2)
void cords(Int_t )
 int ix; index valuex = event;
xyz values :
0 - x
1 - z
2 - z
3 - U1
4 - U2
5 - I1
6 - I2
7 - Beam monitor
8 - time
9 - T laser
10 - T box
11 - Vtresh
Float_t GetWidth(TH1F* , Int_t& , Int_t& , Float_t = 0, Float_t = 25, Float_t = -1111, Float_t = -1111, Int_t = 50)
his -> histogram
tleft -> left margin, default 0
tright -> right margin, default 25
minwidth -> min signal width, default -1111
maxwidth -> max signal width, default -1111
percentage -> height of min and max, default 50 (50%)
TH2F * Draw(Int_t = 0, Int_t = 0, Int_t = 0, Int_t = 0, Int_t = 0, Int_t = 0, Float_t = 0, Float_t = 25)
  Int_t ch; channel number
  Int_t stype
 case: 0 - select x,y
 case: 1 - select x,z
 case: 2 - select x,U1
 case: 3 - select x,U2
 case: 4 - select y,z
 case: 5 - select y,U1
 case: 6 - select y,U2
 case: 7 - select z,U1
 case: 8 - select z,U2
 case: 9 - select U1,U2
 Int_t mode;
          mode =0 -> Integral
          mode =1 -> maximum signal
          mode =2 -> minimum signal
          mode =3 -> width of the signal
 Int_t v1,v2,v3; indexes of the remaining three parameters (order always follows x,y,z,U1,U2)
 Float_t tlow, thi; Time windos of the plots


 Example :
 //plot channel 0 of the, yz plot, with indexesx=0, U1=0, U2=0, in the time windows [0,30 ns]
  TH2F *plot=aa.Draw(0,4,0,0,0,0,0,20);
  plot->Draw("COLZ");
MeasureWF * Projection(int , int* )
MeasureWF * Projection(int ch, int dir, int x, int y, int z, int nu1, int nu2, int num)
 Projection parameters
 int ch  -> channel number
 int dir -> direction of the projection
 int x   -> x0 of the projection
 int y   -> y0 of the projection
 int z   -> z0 of the projection
 int nu1 -> voltage 1
 int nu1 -> voltage 2
 int num -> number of wfs
void DrawList(Int_t , Int_t* )
void DrawList(Int_t , Int_t* , Int_t* )
 Function draws the list
void CorrectBaseLine(Float_t = 0.0)
 Function corrects the baseline (DC offset) of all wafeforms
 Float_t xc ; time denoting the start of the pulse
              correction factor is calculated from all the bins before xc
TGraph * DrawArray(Int_t , Int_t )
 Function draws values in array vs values in second array.
 For each waveform taken the values of:
 x,y,z,U1,I1,U2,I2,BM,time  are recorded (note that is also
 the enumeration order)
void PrintInfo()
 Function prints the information about the class and its members
void swoo(char* , char* )
 byte swaping (LABVIEW,HPUX g++)<->(LINUX g++, WINNT cl)
void swooip(float* , int )
 byte swaping (LABVIEW,HPUX g++)<->(LINUX g++, WINNT cl)
PSTCT(Char_t* , Float_t = 0, Int_t = 0)
~PSTCT()
{}
TGraph * GetIV()
{TGraph *gr=new TGraph(U1.GetSize(),U1.GetArray(),I1.GetArray()); return gr;}
void cords(Int_t )