MeasureWF
class description - source file - inheritance tree
private:
void ReadTCTForm(TString, Int_t, Float_t = -1111, Float_t = -1111, Int_t = 0)
public:
MeasureWF(Char_t*, Int_t = 5001, Float_t = 0)
MeasureWF(Int_t, Char_t*, Float_t = 0)
MeasureWF(const MeasureWF&)
MeasureWF(Int_t = 60)
virtual ~MeasureWF()
void AddHisto(Float_t, TH1F*)
void AddHisto(Int_t, Float_t, TH1F*)
TGraph* CCE(Float_t = -1111, Float_t = -1111, Int_t = 0, Int_t = 1)
TGraph* CCEE(Elec*, Float_t = -1111, Int_t = 0, Int_t = 1)
TGraph* CCEFit(Float_t = -1111, Float_t = -1111, Float_t = 1, Float_t = 200, Int_t = 0, Int_t = 1)
TH1F* ChargeShape(Float_t)
static TClass* Class()
void CompareHisto(TH1F*, Float_t)
void CorrectBaseLine(Int_t = 0)
void Draw(Float_t Volt, Option_t* opt, Float_t low = -1111, Float_t high = -1111)
void Draw(Int_t, Option_t*, Float_t = -1111, Float_t = -1111)
TGraph* DrawIV(Int_t = 0)
void DrawMulti(Float_t = -1111., Float_t = -1111., Int_t = -1, Int_t = -1, Int_t = 1, Int_t = 0, Int_t = -1111)
void DrawTest(int)
TGraph* DrawTV(Int_t = 0)
void EffTau(Int_t, Int_t, Float_t, Float_t, Int_t, Float_t, Float_t = 0.03)
void EffTau(Int_t, Int_t, Float_t*, Float_t*, Int_t, Float_t, Float_t = 0.03)
void EffTauComplex(Int_t, Int_t, Float_t, Float_t, Int_t, Float_t, Float_t = 0.03)
void EffTauComplex(Int_t, Int_t, Float_t*, Float_t*, Int_t, Float_t, Float_t = 0.03)
void EffTauSave(Int_t, Int_t, Float_t*, Float_t*, Int_t, Float_t*, Int_t, Float_t = 0.03)
TH1F* ElField(Int_t, Float_t, Float_t, Float_t, Int_t = -1, Int_t = 2, Int_t = 0)
TH1F* EShaping(Elec* el, Float_t Volt)
TH1F* EShaping(Elec*, Int_t)
Float_t GetAnnealTime()
Float_t GetCurrent(Int_t index)
Float_t GetCurrent(Float_t Volt)
Int_t GetEntries()
Float_t GetFDV(Float_t, Float_t, Float_t, Float_t, Float_t, Float_t, Int_t = 0, Int_t = 0)
Float_t GetFDV(Elec*, Float_t, Float_t, Float_t, Float_t, Int_t = 0, Int_t = 0)
TH1F* GetHA(Float_t voltage)
void GetHistogram(Int_t number, TH1F* his)
void GetHistogram(Float_t voltage, TH1F* his)
Int_t GetIndex(Float_t Volt)
void GetIntegral(Float_t*, Float_t*, Float_t = 1, Float_t = -1111, Float_t = -1111)
void GetIntegral(Float_t*, Float_t = 1, Float_t = -1111, Float_t = -1111)
Float_t GetT(Int_t index)
Float_t GetT(Float_t Volt)
Float_t GetT()
Float_t GetTime(Float_t = 3600)
Float_t GetVoltage(Int_t index)
void Info()
Int_t int2ascii(Char_t* v, Float_t, Int_t = 1)
Float_t Integral(Int_t, Float_t = -1111, Float_t = -1111)
Float_t Integral(Float_t, Float_t = -1111, Float_t = -1111)
virtual TClass* IsA() const
void Legend(TH1*, Int_t, Int_t, Int_t = 1, Int_t = 0)
Double_t Mobility(Float_t, Float_t, Float_t, Double_t, Int_t = 0)
void NormArray(Int_t, Float_t*)
TH1F* operator()(Float_t voltage)
TH1F* operator()(Int_t index)
TGraph* PosTime(Float_t = -1111., Float_t = -1111., Int_t = -1, Int_t = -1, Int_t = 1, Int_t = 0, Int_t = -1111)
void PrintVoltages()
TGraph* RiseTime(Float_t = -1111., Float_t = -1111., Int_t = -1, Int_t = -1, Int_t = 1, Int_t = 0, Int_t = -1111)
void ScaleHisto(Int_t number, Float_t fac)
void SetAnnealTime(Float_t x)
void SetCapacitance(Double_t x)
void SetHistoTime(int ind, Float_t start)
void SetHistoTime(int num, Float_t* start)
void SetTemperatures(Float_t T)
void SetVoltage(Int_t index, Float_t voltage)
void SetVoltages(Float_t* voltages)
void SetVoltages(Int_t num, Float_t svol, Float_t step)
void SetVoltages(Float_t svol, Float_t step)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
TGraph* Tau(Float_t, Int_t, Int_t, Float_t = 0, Float_t = 50, Int_t = 0, Int_t = 0, TArrayI = 0)
TGraph* Tau(Float_t, Int_t, Int_t, Float_t*, Float_t*, Int_t = 0, Int_t = 0, TArrayI = 0)
TGraph* Tau(Elec*, Float_t, Int_t, Int_t, Float_t = 0, Float_t = 50, Int_t = 0, Int_t = 0, TArrayI = 0)
TGraph* TauVolt(Float_t, Float_t, Int_t, Int_t, Float_t = 0, Float_t = 50, Int_t = 1, Int_t = 0)
TGraph* VoltTau(Float_t, Float_t, Int_t, Int_t, Float_t = 0, Float_t = 50, Int_t = 0, Int_t = 0, Int_t = 1, TArrayI = 0)
private:
Int_t Multiple Number of Voltages
Float_t Frequency Frequency of trigger
TClonesArray* histo ->
TArrayF Voltages Array of Voltages
TArrayF Current Array of Currents
TArrayF Temperature Array of Temperatures
TArrayF Date Date of the Measurement (or simulation)
TArrayF Frequencies Array of Frequnecies
Float_t AnnealTime
public:
TPaveText* pt !
Double_t CAP ! Capacitance of the diode
TString Header Header of the file
bool DrawMode
Char_t suffix[10]
Char_t prefix[10]
MeassureWF
This class handels the voltage scans produced with TCT Labview software (".tct" files)!
Waveform vectors are stored in the histograms on which the data manipultaion rutines work
MeasureWF(Int_t num)
Constructor
Int_t num ; Number of aqusitions
MeasureWF(Int_t NumOfFiles,Char_t *FileName,Float_t offset)
Int_t NumOfFiles; number of files to be read
Char_t *FileName; file name without serial number and extension. The files are supposed to end with .txt
Float_t offset; offset in time. In order to use CorrectBaseLine function it is recomended that signal starts at t=0 ns
MeasureWF(Char_t *FileName,Int_t Bins,Float_t Start)
Constructor
Char_t *FileName ; File Name
Int_t bins ; Number of bins per waveform
Int_t Start ; Shift in time (Start time)
void ReadTCTForm(TString FileName, Int_t Bins, Float_t StartBin, Float_t EndBin, Int_t show)
Reads TCT Form File (internaly used by constructor)!
TString FileName ; file name
Int_t Bins ; number of bins
Float_t StartBin ; StartBin of the histogram (values are multiplied with 1e9 - scale in ns
Float_t EndBin ; EndBin of the histogram
Int_t Show ; verbose reading
~MeasureWF()
Destructor
void AddHisto(Int_t index,Float_t voltage,TH1F *hisin)
Add histogram (waveform)
Int_t Index ; Index of the waveform
Float_t Voltage ; Voltage at Index
TH1F* ; pointer to histogram of the waveform
This function is internally used for reading the measurement files
void AddHisto(Float_t voltage,TH1F *hisin)
Add histogram (waveform)
Float_t Voltage ; Voltage at Index
TH1F* ; pointer to histogram of the waveform
This function is internally used for reading the measurement files.
It is assumed that the array of waveforms is already initialized
with voltages specified
void CompareHisto(TH1F *his,Float_t voltage)
Compares measured histogram to any other histogram!
Measured histogram is scaled to the input histogram!
TH1F *his ; input histogram
Float_t voltage ; histogram at voltage
void DrawTest(Int_t number)
void Draw(Int_t number,Option_t *option,Float_t low,Float_t high)
Draw waveform
Int_t number ; index of waveform
Option_t *option ; graphic option (see TH1F)
Float_t low ; Time window
Float_t high ;
TGraph* RiseTime(Float_t low,Float_t high,Int_t Start,Int_t End,Int_t Step,Int_t model,Int_t indsub)
Draws multiple waveform on the same plot with legend
Float_t low ; Time window
Float_t high ;
Int_t Start ; start index
Int_t End ; end index
Int_t Step ; step (default=1)
Int_t model ; positive scale in volts=2, deconvoluted pulse=1
One of the most used functions
TGraph* PosTime(Float_t low,Float_t high,Int_t Start,Int_t End,Int_t Step,Int_t model,Int_t indsub)
Draws multiple waveform on the same plot with legend
Float_t low ; Time window
Float_t high ;
Int_t Start ; start index
Int_t End ; end index
Int_t Step ; step (default=1)
Int_t model ; positive scale in volts=2, deconvoluted pulse=1
One of the most used functions
void DrawMulti(Float_t low,Float_t high,Int_t Start,Int_t End,Int_t Step,Int_t model,Int_t indsub)
Draws multiple waveform on the same plot with legend
Float_t low ; Time window
Float_t high ;
Int_t Start ; start index
Int_t End ; end index
Int_t Step ; step (default=1)
Int_t model ; positive scale in volts=2, deconvoluted pulse=1
One of the most used functions
Float_t Integral(Int_t i,Float_t mint, Float_t maxt)
Get waveform integral in time window
Int_t i ; index
Float_t mint ; Time window
Float_t maxt ;
One of the most used functions
Float_t Integral(Float_t y,Float_t mint, Float_t maxt)
Get waveform integral in time window (uses voltage insted of index)
void GetIntegral(Float_t *x,Float_t *y,Float_t scale,Float_t mint, Float_t maxt)
Gets integrals in certain time window
Float_t *x ; array of voltages
Float_t *y ; array of integrals
Float_t scale ; scaling factor
Float_t mint; Time window
Float_t maxt;
void GetIntegral(Float_t *y,Float_t scale,Float_t mint, Float_t maxt)
Get Integral values only
TGraph* CCE(Float_t mint, Float_t maxt,Int_t model,Int_t Show)
Get integral (charge) plot
Float_t mint ; Time Window
Float_t maxt ;
Int_t model ; lin-lin=0 scale sqrt-lin=1 abs(lin)-lin=2
Int_t Show ; show graph
TGraph* CCEFit(Float_t mint, Float_t maxt,Float_t U1,Float_t U2,Int_t model,Int_t Show)
Get integral (charge) plot
Float_t mint ; Time Window
Float_t maxt ;
Int_t model ; lin-lin=0 scale sqrt-lin=1 abs(lin)-lin=2
Int_t Show ; show graph
void Legend(TH1 *ch, Int_t start, Int_t end, Int_t Step,Int_t model)
Draw Legen (DrawMulti)
TH1F *ch ; histogam
Int_t start ; start index
Int_t end ; end index
Int_t model ; positive scale in volts=2
Float_t GetFDV(Elec *el,Float_t x0,Float_t x1,Float_t x2, Float_t x3,Int_t model,Int_t show)
Calculates FDV using CCE plot
Elec *el ; electronics used (See Elec)
See GetFDV(Float_t, Float_t .... ), for the rest of information
Float_t GetFDV(Float_t low, Float_t hi,Float_t x0,Float_t x1,Float_t x2, Float_t x3,Int_t model,Int_t show)
Calculates FDV using integral of current
Float_t low; Time window
Float_t hi ;
Float_t x0 ; first point of the first line
Float_t x1 ; second point of the first line
Float_t x2 ; first point of the second line
Float_t x3 ; second point of the second line
Int_t model; the model for FDV calculation (see CCE)
Int_t show ; show plot
TGraph* Tau(Elec *el,Float_t tau,Int_t start, Int_t end,Float_t mintime, Float_t maxtime,Int_t Show,Int_t model,TArrayI exlist)
Calcultaes rendered integrals above FDV with the trapping time ; waveform is deconvoluted first
Elec *el ; electronics
Float_t tau ; trapping time constant
Int_t start ; start index
Int_t end ; end index
Float_t mintime ; Time window
Float_t maxtime ; Time window
Int_t Show ; show graph
Int_t model ;
TArrayI exlist ; list of excluded points = 0
TGraph* Tau(Float_t tau,Int_t start, Int_t end,Float_t *mint, Float_t *maxt,Int_t Show,Int_t model, TArrayI exlist)
Calcultaes rendered integrals above FDV with the trapping time
Float_t tau ; trapping time constant
Int_t start ; start index
Int_t end ; end index
Float_t *mint ; Time windows for each separate measurement
Float_t *maxt ;
Int_t Show ; show graph
Int_t model ; graphs with positive voltages =1
TArrayI exlist ; list of excluded points = 0
TGraph* Tau(Float_t tau,Int_t start, Int_t end,Float_t mint, Float_t maxt,Int_t Show,Int_t model,TArrayI exlist)
Calcultaes rendered integrals above FDV with the trapping time
Float_t tau ; trapping time constant
Int_t start ; start index
Int_t end ; end index
Float_t mint ; Time window
Float_t maxt ;
Int_t Show ; show graph
Int_t model ; positive voltage scale graph=2
TArrayI exlist ; list of excluded points = 0
TGraph* TauVolt(Float_t taus, Float_t taue, Int_t start, Int_t end,Float_t mint, Float_t maxt,Int_t res,Int_t model)
Calcultaes rendered integrals above FDV with the trapping time. The output is plot Integral vs voltage @ diff. tau.
Float_t taus ; Time interval
Float_t taue ;
Int_t start ; start index
Int_t end ; end index
Float_t mint ; Time window
Float_t maxt ;
Int_t res ; how many steps per nsh
Int_t model ; see VoltTau
TGraph* VoltTau(Float_t taus, Float_t taue, Int_t start, Int_t end,Float_t mint, Float_t maxt,Int_t Show,Int_t model,Int_t res, TArrayI exlist)
Calcultaes rendered integrals above FDV with the trapping time. It scan throug and finds trapping time at which the integral doesn't depend on voltage
Float_t taus ; Time interval
Float_t taue ;
Int_t start ; start index
Int_t end ; end index
Float_t mint ; Time window
Float_t maxt ;
Int_t Show ; show graph
Int_t model ; if model >= 0 as measured
if model < 0 deconvoluted
Abs(model) - 0 negative voltage
> positive voltage
Int_t res; resolution; number of points per ns - default = 1
TArrayI exlist ; list of excluded points = 0
void EffTau(Int_t start, Int_t end, Float_t mint, Float_t maxt,Int_t eh,Float_t Vdep,Float_t D)
Same as EffTau, with the array of minimal and maximal fit times given
void EffTauComplex(Int_t start, Int_t end, Float_t mint, Float_t maxt,Int_t eh,Float_t Vdep,Float_t D)
Same as EffTauComplex, with the array of minimal and maximal fit times given
void EffTauSave(Int_t start, Int_t end, Float_t *mint, Float_t *maxt,Int_t eh,Float_t *dt,Int_t startV,Float_t D)
Determination of the tau with exponential fit to the tail of the measured waveform
Int_t start ; start index
Int_t end ; end index
Float_t mint ; Time window
Float_t maxt ;
Int_t eh ; electrons=0 , holes=1
Float_t D ; detector thickness in um
Float_t *dt ; carrier drift tume
Int_t startV ; index of the start voltage
void EffTau(Int_t start, Int_t end, Float_t *mint, Float_t *maxt,Int_t eh,Float_t Vdep,Float_t D)
Determination of the tau with exponential fit to the tail of the measured waveform
Int_t start ; start index
Int_t end ; end index
Float_t mint ; Time window
Float_t maxt ;
Int_t eh ; electrons=0 , holes=1
Float_t Vdep ; full depletion voltage
Float_t D ; detector thickness in um
void EffTauComplex(Int_t start, Int_t end, Float_t *mint, Float_t *maxt,Int_t eh,Float_t Vdep,Float_t D)
Determination of the tau with exponential fit to the tail of the measured waveform
Int_t start ; start index
Int_t end ; end index
Float_t mint ; Time window
Float_t maxt ;
Int_t eh ; electrons=0 , holes=1
Float_t Vdep ; full depletion voltage
Float_t D ; detector thickness in um
TH1F* ElField(Int_t hisnum,Float_t tau,Float_t ts,Float_t te, Int_t nab,Int_t what, Int_t MobMod)
extraction of the electric field from the measurements
Int_t hisnum ; number of histogram
Float_t tau ; effective trapping time
Float_t ts ; low edge of the time window (drift)
Float_t te ; high edge of the time window (drift)
Int_t nab ; charge of the carrier (=1 hole, =-1 electron)
Int_t what ; what kind of output histogram
Int_t MobMod ; Mobility Model (see EField Class)
TH1F* ChargeShape(Float_t Volt)
Calcultes the charge (current integral) as a function of time
Float_t Volt; voltage
void CorrectBaseLine(Int_t method)
Corrects the base line from [-oo,0]. It is a shift in y -axis!
Int_t method ; =0 all plots are averaged , =1 separate waveforms are used
void Info()
shows information about measurements
Float_t GetTime(Float_t scale)
Calculates the time of measurement
Float_t scale ; scale (3600 = 1h)
TGraph* DrawIV(Int_t model)
Draws IV for the given measurement
TGraph* DrawTV(Int_t model)
Draws TV for the given measurement
Int_t model ; model=0 as measured , model=1 change the sign of both axes
TH1F* EShaping(Elec *el,Int_t index)
The waveform is shaped with electronics
Int_t index; index of the plot
void NormArray(Int_t num,Float_t *array)
array normalization
TGraph* CCEE(Elec *el,Float_t normalize,Int_t model,Int_t Show)
Same as CCE but electronics is used for shaping (peak of the shaped pulse is used)!
Elec *el ; electronics
Float_t normalize ; normalization to certain number
Int_t model ; lin-lin=0 scale sqrt-lin=1 abs(lin)-lin=2
Int_t Show ; show plots
Double_t Mobility(Float_t E,Float_t T,Float_t Charg,Double_t Neff, Int_t which)
Int_t int2ascii(Char_t v[],Float_t vol,Int_t sign)
int to ascii with signs (same as in MeasureWF)
void SetHistoTime(int ind,Float_t *start)
void SetHistoTime(int ind,Float_t start)
Inline Functions
void SetAnnealTime(Float_t x)
Float_t GetAnnealTime()
void SetVoltages(Float_t* voltages)
void SetVoltage(Int_t index, Float_t voltage)
Float_t GetVoltage(Int_t index)
Int_t GetIndex(Float_t Volt)
Float_t GetCurrent(Int_t index)
Float_t GetCurrent(Float_t Volt)
void SetVoltages(Float_t svol, Float_t step)
void SetVoltages(Int_t num, Float_t svol, Float_t step)
void SetTemperatures(Float_t T)
void SetCapacitance(Double_t x)
void PrintVoltages()
void Draw(Int_t, Option_t*, Float_t = -1111, Float_t = -1111)
void GetHistogram(Int_t number, TH1F* his)
void GetHistogram(Float_t voltage, TH1F* his)
TH1F* GetHA(Float_t voltage)
TH1F* operator()(Float_t voltage)
TH1F* operator()(Int_t index)
void ScaleHisto(Int_t number, Float_t fac)
TH1F* EShaping(Elec* el, Float_t Volt)
Int_t GetEntries()
Float_t GetT()
Float_t GetT(Float_t Volt)
Float_t GetT(Int_t index)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
MeasureWF MeasureWF(const MeasureWF&)
Last update: Tue Jul 28 11:30:19 2009
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.