#include "hmdccal2parsim.h" |
HMdcCal2ParSim
class description - source file - inheritance tree (.pdf)
public:
HMdcCal2ParSim(const char* name = "MdcCal2ParSim", const char* title = "cal2 calibration parameters for Mdc [distance->time]", const char* context = "MdcCal2ParSimProduction", Int_t n = 6)
HMdcCal2ParSim(const HMdcCal2ParSim&)
~HMdcCal2ParSim()
Float_t calcDriftVelocity(Int_t, Int_t, Float_t, Float_t)
Float_t calcResolution(Int_t, Int_t, Float_t, Float_t)
Double_t calcTime(Int_t, Int_t, Double_t, Double_t)
void calcTime(Int_t, Int_t, Double_t, Double_t, Double_t*, Double_t*)
Float_t calcTime(Int_t, Int_t, Float_t, Float_t)
Float_t calcTime2(Int_t, Int_t, Float_t, Float_t)
void calcTime2Digitizer(Int_t, Int_t, Float_t, Float_t, Float_t*, Float_t*)
Float_t calcTime2Err(Int_t, Int_t, Float_t, Float_t)
void calcTimeDigitizer(Int_t, Int_t, Float_t, Float_t, Float_t*, Float_t*)
Double_t calcTimeErr(Int_t, Int_t, Double_t, Double_t)
Float_t calcTimeErr(Int_t, Int_t, Float_t, Float_t)
static TClass* Class()
virtual void clear()
TString getContainerComment()
Int_t getNumberOfBins()
Int_t getNumberOfLines()
Int_t getSize()
Float_t getSlopeOutside()
virtual Bool_t init(HParIo*, Int_t*)
virtual TClass* IsA() const
HMdcCal2ParSim& operator=(const HMdcCal2ParSim&)
HMdcCal2ParSecSim& operator[](Int_t i)
void plot(Int_t, Int_t)
void plot2D(Int_t, Int_t, Int_t)
void printContainerComment()
void printParam()
void putAsciiHeader(TString&)
void readline(const char*, Int_t*)
void setConstantTime1Err(Float_t m0 = 0, Float_t m1 = 0, Float_t m2 = 0, Float_t m3 = 0)
void setContainerComment(TString mycomment)
void setScalerTime1Err(Float_t m0 = 0, Float_t m1 = 0, Float_t m2 = 0, Float_t m3 = 0)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
void transformToDistance(Int_t, Int_t, Int_t, Float_t, HMdcCal2Par*)
virtual Int_t write(HParIo*)
Bool_t writeline(char*, Int_t, Int_t, Int_t)
protected:
TObjArray* array array of pointers of type HMdcCal2ParSecSim
HMdcDetector* fMdc
TString comment
Int_t sector
Int_t module
Float_t angleDeg
Float_t time
Float_t time2
Float_t finaltime
Int_t angleStep
Float_t distance
Int_t linecounter
Int_t linecounterwrite
Float_t slopeOutside
Int_t type
Int_t dmin
Int_t dmax
Float_t scaleError[4] ! scaler for error of time1 per module type
Float_t constError[4] ! const error of time1 per module type
Bool_t useConstErr ! switch for using const errors
HMdcCal2ParSim
Container class for the calibration parameters from Cal1 to Cal2 of the MDC
distance -> time.Contains functions for calculating distance->time for track fitter
and Digitizer of Mdc
HMdcCal2ParSim(const char* name,const char* title,
const char* context,Int_t n)
: HParSet(name,title,context)
constructor
~HMdcCal2ParSim()
destructor
Bool_t init(HParIo* inp,Int_t* set)
intitializes the container from an input
Double_t calcTime(Int_t s,Int_t m,Double_t a,Double_t dist)
This function calculates the drift time for a given distance
to sense wire.A Interpolation between the two closest angle steps
is performed and the drift time value returned.
Input is the angle of the track (alphaTrack:90 degree for perpendicular impact),which
has to be recalculated to the angle of minimum drift distance (alphaDrDist:0 degree for
perpendicular impact).
y ^
| |------------*----| cathod plane
| | cell * |
| | / * |
| | /90 * |
| | driftDist/ *|
| | / | *
--|--|--------*^-|-----|*---------> sense/potential plane
| | | | * x
| | alphaDrDist| *
| |/ * alphaDriftDist=90-alphaTrack
| alphaTrack / *
|-----------------| * track cathod plane
angles must be between 0 and 90 degree, all other angles have to be shifted
before calling the function.
Double_t calcTimeErr(Int_t s,Int_t m,Double_t a,Double_t dist)
This function calculates the Error of drift time1 for a given distance
to sense wire.A Interpolation between the two closest angle steps
is performed and the drift time value returned.
Input is the angle of the track (alphaTrack:90 degree for perpendicular impact),which
has to be recalculated to the angle of minimum drift distance (alphaDrDist:0 degree for
perpendicular impact).
y ^
| |------------*----| cathod plane
| | cell * |
| | / * |
| | /90 * |
| | driftDist/ *|
| | / | *
--|--|--------*^-|-----|*---------> sense/potential plane
| | | | * x
| | alphaDrDist| *
| |/ * alphaDriftDist=90-alphaTrack
| alphaTrack / *
|-----------------| * track cathod plane
angles must be between 0 and 90 degree, all other angles have to be shifted
before calling the function.
void calcTime(Int_t s,Int_t m,Double_t a,Double_t dist
,Double_t*time1,Double_t*time1Err)
This function calculates the drift time for a given distance
to sense wire.A Interpolation between the two closest angle steps
is performed and the drift time value returned.
Input is the angle of the track (alphaTrack:90 degree for perpendicular impact),which
has to be recalculated to the angle of minimum drift distance (alphaDrDist:0 degree for
perpendicular impact).
y ^
| |------------*----| cathod plane
| | cell * |
| | / * |
| | /90 * |
| | driftDist/ *|
| | / | *
--|--|--------*^-|-----|*---------> sense/potential plane
| | | | * x
| | alphaDrDist| *
| |/ * alphaDriftDist=90-alphaTrack
| alphaTrack / *
|-----------------| * track cathod plane
angles must be between 0 and 90 degree, all other angles have to be shifted
before calling the function.
Time1 and Error of Time1 (no random smearing) are returned to Float pointers
Float_t calcTime(Int_t s,Int_t m,Float_t a,Float_t dist)
This function calculates the drift time for a given distance
to sense wire.A Interpolation between the two closest angle steps
is performed and the drift time value returned.
Input is the angle of the track (alphaTrack:90 degree for perpendicular impact),which
has to be recalculated to the angle of minimum drift distance (alphaDrDist:0 degree for
perpendicular impact).
y ^
| |------------*----| cathod plane
| | cell * |
| | / * |
| | /90 * |
| | driftDist/ *|
| | / | *
--|--|--------*^-|-----|*---------> sense/potential plane
| | | | * x
| | alphaDrDist| *
| |/ * alphaDriftDist=90-alphaTrack
| alphaTrack / *
|-----------------| * track cathod plane
angles must be between 0 and 90 degree, all other angles have to be shifted
before calling the function.
Float_t calcTimeErr(Int_t s,Int_t m,Float_t a,Float_t dist)
This function calculates the Error of drift time1 for a given distance
to sense wire.A Interpolation between the two closest angle steps
is performed and the drift time value returned.
Input is the angle of the track (alphaTrack:90 degree for perpendicular impact),which
has to be recalculated to the angle of minimum drift distance (alphaDrDist:0 degree for
perpendicular impact).
y ^
| |------------*----| cathod plane
| | cell * |
| | / * |
| | /90 * |
| | driftDist/ *|
| | / | *
--|--|--------*^-|-----|*---------> sense/potential plane
| | | | * x
| | alphaDrDist| *
| |/ * alphaDriftDist=90-alphaTrack
| alphaTrack / *
|-----------------| * track cathod plane
angles must be between 0 and 90 degree, all other angles have to be shifted
before calling the function.
Float_t calcTime2(Int_t s,Int_t m,Float_t a,Float_t dist)
This function calculates the drift time2 for a given distance
to sense wire.A Interpolation between the two closest angle steps
is performed and the drift time value returned.
Input is the angle of the track (alphaTrack:90 degree for perpendicular impact),which
has to be recalculated to the angle of minimum drift distance (alphaDrDist:0 degree for
perpendicular impact).
y ^
| |------------*----| cathod plane
| | cell * |
| | / * |
| | /90 * |
| | driftDist/ *|
| | / | *
--|--|--------*^-|-----|*---------> sense/potential plane
| | | | * x
| | alphaDrDist| *
| |/ * alphaDriftDist=90-alphaTrack
| alphaTrack / *
|-----------------| * track cathod plane
angles must be between 0 and 90 degree, all other angles have to be shifted
before calling the function.
Float_t calcTime2Err(Int_t s,Int_t m,Float_t a,Float_t dist)
This function calculates the Error drift time2 for a given distance
to sense wire.A Interpolation between the two closest angle steps
is performed and the drift time value returned.
Input is the angle of the track (alphaTrack:90 degree for perpendicular impact),which
has to be recalculated to the angle of minimum drift distance (alphaDrDist:0 degree for
perpendicular impact).
y ^
| |------------*----| cathod plane
| | cell * |
| | / * |
| | /90 * |
| | driftDist/ *|
| | / | *
--|--|--------*^-|-----|*---------> sense/potential plane
| | | | * x
| | alphaDrDist| *
| |/ * alphaDriftDist=90-alphaTrack
| alphaTrack / *
|-----------------| * track cathod plane
angles must be between 0 and 90 degree, all other angles have to be shifted
before calling the function.
Float_t calcDriftVelocity(Int_t s,Int_t m,Float_t a,Float_t dist)
This function calculates the drift velocity for a given distance
to sense wire and impact angle. Vd [mu/ns] = deltaT1/deltaDist
Float_t calcResolution(Int_t s,Int_t m,Float_t a,Float_t dist)
This function calculates the reslution in nm for a given distance
to sense wire and impact angle. Res[nm]=timeErr/Vd.
void calcTimeDigitizer(Int_t s,Int_t m,Float_t a,
Float_t dist,Float_t*time1,Float_t*time1Err)
This function calculates the drift time for a given distance
to sense wire.A Interpolation between the two closest angle steps
is performed and the drift time value returned.
Input is the angle of the track (alphaTrack:90 degree for perpendicular impact),which
has to be recalculated to the angle of minimum drift distance (alphaDrDist:0 degree for
perpendicular impact).
y ^
| |------------*----| cathod plane
| | cell * |
| | / * |
| | /90 * |
| | driftDist/ *|
| | / | *
--|--|--------*^-|-----|*---------> sense/potential plane
| | | | * x
| | alphaDrDist| *
| |/ * alphaDriftDist=90-alphaTrack
| alphaTrack / *
|-----------------| * track cathod plane
angles must be between 0 and 90 degree, all other angles have to be shifted
before calling the function.
void calcTime2Digitizer(Int_t s,Int_t m,Float_t a,
Float_t dist,Float_t*time2,Float_t*time2Err)
This function calculates the drift time for a given distance
to sense wire.A Interpolation between the two closest angle steps
is performed and the drift time value returned.
Input is the angle of the track (alphaTrack:90 degree for perpendicular impact),which
has to be recalculated to the angle of minimum drift distance (alphaDrDist:0 degree for
perpendicular impact).
y ^
| |------------*----| cathod plane
| | cell * |
| | / * |
| | /90 * |
| | driftDist/ *|
| | / | *
--|--|--------*^-|-----|*---------> sense/potential plane
| | | | * x
| | alphaDrDist| *
| |/ * alphaDriftDist=90-alphaTrack
| alphaTrack / *
|-----------------| * track cathod plane
angles must be between 0 and 90 degree, all other angles have to be shifted
before calling the function.
void transformToDistance(Int_t s,Int_t m,Int_t a,Float_t binsizetime,HMdcCal2Par* cal2par)
fills arrays of MdcCal2Par (time) from arrays of MdcCal2ParSim (distance)
void plot(Int_t s,Int_t m)
plots data into TGraphErrors for time1 and time2 including errors
void plot2D(Int_t s,Int_t m,Int_t type)
Plots data into 2d-Hists
type = 0 ->time1
type = 1 ->Error time1
type = 2 ->time2
type = 3 ->Error time2
Int_t write(HParIo* output)
writes the container to an output
void readline(const char* buf, Int_t* set)
decodes one line read from ascii file I/O and calls HMdcCal2ParAngleSim::fillTime1(...)
void putAsciiHeader(TString& header)
puts the ascii header to the string used in HMdcParAsciiFileIo
Bool_t writeline(char *buf, Int_t sec, Int_t mod, Int_t angle)
writes one line to the buffer used by ascii file I/O
void clear()
clears the container
void printParam()
prints the container
void Streamer(TBuffer &R__b)
Stream an object of class HMdcCal2ParSim.
Inline Functions
HMdcCal2ParSecSim& operator[](Int_t i)
void setContainerComment(TString mycomment)
TString getContainerComment()
void printContainerComment()
Int_t getSize()
Int_t getNumberOfLines()
Int_t getNumberOfBins()
Float_t getSlopeOutside()
void setScalerTime1Err(Float_t m0 = 0, Float_t m1 = 0, Float_t m2 = 0, Float_t m3 = 0)
void setConstantTime1Err(Float_t m0 = 0, Float_t m1 = 0, Float_t m2 = 0, Float_t m3 = 0)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void StreamerNVirtual(TBuffer& b)
HMdcCal2ParSim HMdcCal2ParSim(const HMdcCal2ParSim&)
HMdcCal2ParSim& operator=(const HMdcCal2ParSim&)
Last update: Fri Jan 26 12:03:01 2007
ROOT page - Class index - Class Hierarchy - 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.