BrDetectorParamsTPC
class description - source file - inheritance tree
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)
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
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&)
|