BRAT 2.4.5
Class index
Full class index
brahmlib
BRAHMS
ROOT page

BrDetectorParamsTPC


class description - source file - inheritance tree

class BrDetectorParamsTPC : public BrDetectorParamsBase

    private:
Float_t AddTimeCorrection(Int_t row, Float_t& time) Float_t BinToTime(Float_t bin) Float_t RemoveTimeCorrection(Int_t row, Float_t& time) void SetActiveParameters() Float_t TimeToBin(Float_t time) public:
BrDetectorParamsTPC BrDetectorParamsTPC() BrDetectorParamsTPC BrDetectorParamsTPC(Char_t* name, Char_t* title) BrDetectorParamsTPC BrDetectorParamsTPC(Char_t* name, Char_t* title, Char_t* filename) BrDetectorParamsTPC BrDetectorParamsTPC(BrDetectorParamsTPC&) virtual void ~BrDetectorParamsTPC() static TClass* Class() Float_t DistanceToIntrinsic(Float_t pos) Float_t DistanceToPad(Float_t pos) Float_t DriftToIntrinsic(Float_t drift) Float_t DriftToTime(Float_t drift) Float_t DriftToTime(Int_t row, Float_t drift) Int_t GetActiveRowNumber(Int_t activeRow) const Float_t GetActiveRowPosition(Int_t activeRow) const Int_t GetADCChannels() const Float_t GetADCGain() const Float_t GetAnodeGap() const Float_t GetDlong() const Float_t GetDriftv() const Float_t GetDriftVelocity() const Float_t GetDtrans() const Float_t GetEff() const Float_t GetHitWidthX() const Float_t GetHitWidthY() const Int_t GetNoBuckets() const Int_t GetNumberOfActiveRows() const Int_t GetNumberOfRows() const Float_t GetPadBasePosition() const Float_t GetPadDistance() const Float_t GetPadLength() const Int_t GetPadsprow() const Float_t GetPadWidth() const Float_t GetRowDistance() const Int_t GetRowNumber(Int_t row) const Float_t GetRowPosition(Int_t row) const Float_t GetShapingTime() const Float_t GetTimeBasePosition() const Float_t GetTimeBucket() const Float_t GetTimeCorrection(Int_t row) const Float_t GetTimeCorrectionSlope(Int_t row) const Float_t GetTimingOffset() const Float_t GetTwoPar() const Float_t IntrinsicToDistance(Float_t pos) Float_t IntrinsicToDrift(Float_t pos) Float_t IntrinsicToPad(Float_t pos) Float_t IntrinsicToTime(Int_t row, Float_t time) Float_t IntrinsicToTime(Float_t time) virtual TClass* IsA() const Bool_t IsPadActive(Int_t row, Int_t pad) const Bool_t IsPadDead(Int_t row, Int_t pad) const void ListPadStatus() const virtual void ListParameters() const Float_t PadToIntrinsic(Float_t pad) void SetADCChannels(Int_t ADCChannels) void SetADCGain(Float_t ADCGain) void SetAnodeGap(Float_t AnodeGap) virtual void SetASCIIParameters(Char_t* line) void SetDeadPad(Int_t row, Int_t pad) void SetDeadPad(Int_t row, Int_t pad1, Int_t pad2) virtual void SetDefaultParams() void SetDlong(const Float_t Dlong) void SetDriftv(Float_t Driftv) void SetDriftVelocity(Float_t Driftv) void SetDtrans(Float_t Dtrans) void SetDummyPad(Int_t row, Int_t pad) void SetDummyPad(Int_t row, Int_t pad1, Int_t pad2) void SetEff(Float_t Eff) void SetHitWidthX(Float_t value) void SetHitWidthY(Float_t value) void SetNoBuckets(Int_t val) void SetNumberOfRows(Int_t NumberOfRows) void SetPadBasePosition(Float_t PadBasePosition) void SetPadDistance(Float_t PadDistance) void SetPadLength(Float_t PadLength) void SetPadPerRow(Int_t PadsPerRow) void SetPadWidth(Float_t PadWidth) void SetRowActive(Int_t irow) void SetRowDistance(Float_t RowDistance) void SetRowInActive(Int_t irow) void SetRowPosition(Int_t irow, Float_t xpos) void SetShapingTime(Float_t ShapingTime) void SetTimeBasePosition(Float_t value) void SetTimeBucket(Float_t TimeBucket) void SetTimeCorrection(Int_t row, Float_t offset, Float_t slope = 0) void SetTimingOffset(Float_t TimeOffset) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) Float_t TimeToDrift(Float_t time) Float_t TimeToDrift(Int_t row, Float_t time) Float_t TimeToIntrinsic(Float_t time) Float_t TimeToIntrinsic(Int_t row, Float_t time)

Data Members

    private:
Float_t fTwoPar Twoparticle resolution (not used) Float_t fDlong Longitudinal Diffusion coeffecient Float_t fDtrans Transverse Diffisuion coefficient Float_t fEff Efficiency for padrows Float_t fAnodeGap Distance between Pad and anode wire Float_t fDriftVelocity Drift velocity Float_t fTimeBucket Bucket size (nsec) Float_t fShapingTime Preamp shaper time (FWHM - nsec) Float_t fADCGain Gain of Preamp Int_t fADCChannels Number of bins in adc (512, 1024) Float_t fTimingOffset Time in nsec from interaction to readout start. Float_t fRowTimeCorrection[20] Calibration for outrow timing diffs Float_t fRowTimeCorrectionSlope[20] Calibration for outrow timing diffs Float_t fRowDistance Distance between Rows Int_t fNoBuckets Number of time buckets Int_t fNumberOfRows Number of Rows Int_t fPadsPerRow Number of Pads per row Float_t fPadDistance Distance between pads (pitch) Float_t fPadWidth Width of Pads Float_t fPadLength Length of pads Float_t fRowPosition[20] Z position of rows Bool_t fRowActive[20] Status of given row Int_t fNumberOfActiveRows Number of active rows Int_t fActiveRowNumber[20] Actual Row number for active row; Float_t fPadBasePosition Intrinsic coordinate for first pad (left) Float_t fTimeBasePosition Intrinsic coordinate for first timebin Short_t** fPadRowStatus ! maintaining pad status. Should be filled from DB eventually. Float_t fHitWidthX error on x coordinate of hit Float_t fHitWidthY error on y coordinate of hit public:
static const enum TObject:: kPadActive static const enum TObject:: kPadNotInstrumented static const enum TObject:: kPadDead

Class Description

 BrDetectorParamsTPC is a BRAHMS data class providing storage and
 access function for TPC specific digitasation parameters.
 This allows modification of the BrDetectorParams content by the
 user This class is not yet implemeted as a proper database/geometry
 class.


 Update:
    June 2000 /fv
    Introduce fTimingoffset ie. time from interaction to
    readoutstart.
    Let the IntrinsicToTime.. depend on row number as per
    real data i.e. calibration data
    Add array to take care of this.

   September 2000
    Completed change of refering row number by 1,...20
    This also involved a change in the default DetectorParameters.txt


BrDetectorParamsTPC()
 Constructor. Set counter and list data members to zero.
 Don't use this constructor unless you have to and know
 what you are doing
 Use BrDetectorParams(Char_t, Char_t ) instead

BrDetectorParamsTPC(Char_t *name, Char_t *title) : BrDetectorParamsBase(name,title)

BrDetectorParamsTPC(Char_t *name, Char_t *title, Char_t *filename) : BrDetectorParamsBase(name,title)

~BrDetectorParamsTPC()

AddTimeCorrection(Int_t row, Float_t &time) // Add the time correction when you go from time to another // coordinate, like intrinsic position or drift

Int_t GetRowNumber(Int_t row) const
 returns the active rownumber of a row
 Inverse method of GetActiveRowNumber
 returns -1 if row number is invalid or row
 is inactive

void SetDefaultParams()
 A set of resonable parameters for TPC digitization routines
 are being set. Called by the constructor. The parameters here
 correspond to T1 in the forward spectrometer and several for T1.
 The TPM1 and TPM2 default are set in the following blocks of code.


void ListPadStatus() const
  List the status for all pads in tpc


void ListParameters() const
  List the current Detector Parameters


void SetRowPosition(Int_t irow,Float_t xpos)

void SetRowActive(Int_t irow)

void SetRowInActive(Int_t irow)

void SetActiveParameters()
  Calculate derived parameters for active rows
  i.e. number of active rows, and actual rownumber for
  active rows.


void SetASCIIParameters(Char_t *line)
Interpret a line for TPC params.  Form is ParamName:value.  Eg
Eg fTwopar:.20 or fEff:  0.95

void SetDeadPad(Int_t row, Int_t pad)
 Mark pads pad in row as dead
  removed from sequences

void SetDeadPad(Int_t row, Int_t pad1, Int_t pad2)
 Mark pads pad1 through pad2 in row as dead
 i.e. will be aremoved from sequences

void SetDummyPad(Int_t row, Int_t pad)

void SetDummyPad(Int_t row, Int_t pad1, Int_t pad2)
 Mark pads pad1 through pad2 in row as Dummy or not instrumented
 This can be used in acceptance, and will definitely be used
 in geant digitization

Float_t DistanceToPad(Float_t pos)
 Convert distance from Padbase to a padnumber (expressed in floats
 relative to edge of pad.


Float_t DriftToIntrinsic(Float_t drift)
 Convert intrinsic ccordinates to a DriftLength (cm)


Float_t DistanceToIntrinsic(Float_t dist)
 Convert intrinsic ccordinates to a DriftLength (cm)


Float_t DriftToTime(Float_t drift)
 Convert drift distances to Time bins


Float_t DriftToTime(Int_t row, Float_t drift)
 Convert drift distances to Time bins


Float_t IntrinsicToPad(Float_t pos)
 Convert intrinsic ccordinates to a padnumber (expressed in floats
 relative to center of pad.
 The first implementation. Future may depend on additional calibration
 parameters. The same comments apply to the other Intrinsic conversion
 functions.


Float_t IntrinsicToTime(Float_t pos)
 Convert intrinsic coordinates to a timebin


Float_t IntrinsicToTime(Int_t row, Float_t pos)
 Convert intrinsic ccordinates to a timebin


Float_t IntrinsicToDrift(Float_t pos)
 Convert intrinsic ccordinates to a DriftLength (cm)


Float_t IntrinsicToDistance(Float_t pos)
 Convert intrinsic ccordinates to a Distance From Padedge (cm)


Float_t PadToIntrinsic(Float_t pad)
 Convert Pad numbers (0...n) to intrinsic coordinates


RemoveTimeCorrection(Int_t row, Float_t &time) // // Remove the time correction when you go from some other coordinate // (position, drift) to time //

Float_t TimeToIntrinsic(Float_t time)
 Convert Time Bucket (0...n) to intrinsic coordinates.


Float_t TimeToIntrinsic(Int_t rownumber, Float_t time)
 Convert Time Bucket (0...n) to intrinsic coordinates.


Float_t TimeToDrift(Float_t time)
 Convert Time value to a drift distance


Float_t TimeToDrift(Int_t rownumber, Float_t time)
 Convert Time value to a drift distance


SetTimeCorrection(Int_t row, Float_t offset, Float_t slope = 0)
 Set the calibration parameters for the row time corrections
 The correction is applied in
 AddTimeCorrection and RemoveTimeCorrection




Inline Functions


                    Float_t GetAnodeGap() const
                    Float_t GetTwoPar() const
                    Float_t GetDlong() const
                    Float_t GetDtrans() const
                    Float_t GetEff() const
                    Float_t GetADCGain() const
                      Int_t GetADCChannels() const
                    Float_t GetDriftv() const
                    Float_t GetDriftVelocity() const
                    Float_t GetHitWidthX() const
                    Float_t GetHitWidthY() const
                    Float_t GetTimeBucket() const
                    Float_t GetShapingTime() const
                      Int_t GetNoBuckets() const
                      Int_t GetNumberOfRows() const
                      Int_t GetNumberOfActiveRows() const
                      Int_t GetPadsprow() const
                    Float_t GetPadBasePosition() const
                    Float_t GetPadDistance() const
                    Float_t GetPadWidth() const
                    Float_t GetPadLength() const
                    Float_t GetRowDistance() const
                    Float_t GetTimingOffset() const
                    Float_t GetTimeBasePosition() const
                    Float_t GetRowPosition(Int_t row) const
                    Float_t GetActiveRowPosition(Int_t activeRow) const
                      Int_t GetActiveRowNumber(Int_t activeRow) const
                    Float_t GetTimeCorrection(Int_t row) const
                    Float_t GetTimeCorrectionSlope(Int_t row) const
                     Bool_t IsPadActive(Int_t row, Int_t pad) const
                     Bool_t IsPadDead(Int_t row, Int_t pad) const
                       void SetADCGain(Float_t ADCGain)
                       void SetADCChannels(Int_t ADCChannels)
                       void SetAnodeGap(Float_t AnodeGap)
                       void SetDlong(const Float_t Dlong)
                       void SetDtrans(Float_t Dtrans)
                       void SetDriftv(Float_t Driftv)
                       void SetDriftVelocity(Float_t Driftv)
                       void SetEff(Float_t Eff)
                       void SetHitWidthX(Float_t value)
                       void SetHitWidthY(Float_t value)
                       void SetNoBuckets(Int_t val)
                       void SetNumberOfRows(Int_t NumberOfRows)
                       void SetPadBasePosition(Float_t PadBasePosition)
                       void SetPadDistance(Float_t PadDistance)
                       void SetPadPerRow(Int_t PadsPerRow)
                       void SetPadWidth(Float_t PadWidth)
                       void SetPadLength(Float_t PadLength)
                       void SetRowDistance(Float_t RowDistance)
                       void SetShapingTime(Float_t ShapingTime)
                       void SetTimeBucket(Float_t TimeBucket)
                       void SetTimeBasePosition(Float_t value)
                       void SetTimingOffset(Float_t TimeOffset)
                    Float_t BinToTime(Float_t bin)
                    Float_t TimeToBin(Float_t time)
                    TClass* Class()
                    TClass* IsA() const
                       void ShowMembers(TMemberInspector& insp, char* parent)
                       void Streamer(TBuffer& b)
                       void StreamerNVirtual(TBuffer& b)
        BrDetectorParamsTPC BrDetectorParamsTPC(BrDetectorParamsTPC&)

This page automatically generated by script docBrat by Christian Holm

Copyright ; 2002 BRAHMS Collaboration <brahmlib@rcf.rhic.bnl.gov>
Last Update on 2002/02/27 21:15:40 $ by videbaek $

Validate HTML
Validate CSS