#include "hmdccal2parsim.h"

HMdcCal2ParSim


class description - source file - inheritance tree (.pdf)

class HMdcCal2ParSim : public HParSet

Inheritance Chart:
TObject
<-
TNamed
<-
HParSet
<-
HMdcCal2ParSim

    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)

Data Members


    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

Class Description

 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.