* provided "as is" without express or implied warranty. *
**************************************************************************/
-/*
-$Log$
-Revision 1.7.8.2 2000/04/10 08:44:51 kowal2
-
-New transformations added
-Different pad and pad-rows geometries for different sectors
-
-Revision 1.7.8.1 2000/04/10 07:56:53 kowal2
-Not used anymore - removed
-
-Revision 1.7 1999/10/08 13:10:35 fca
-Values in SetDefault are in radiants
-
-Revision 1.6 1999/10/08 06:27:59 fca
-Defaults updated
-
-Revision 1.5 1999/10/05 17:18:27 fca
-Correct GetWire check on even/odd fnWires
-
-Revision 1.4 1999/09/29 09:24:34 fca
-Introduction of the Copyright and cvs Log
-
-*/
+/* $Id$ */
///////////////////////////////////////////////////////////////////////
// Manager and of geomety classes for set: TPC //
// //
///////////////////////////////////////////////////////////////////////
+//
-#include <iostream.h>
+#include <Riostream.h>
#include <TMath.h>
#include <TObject.h>
#include <TRandom.h>
#include <AliTPCParam.h>
-ClassImp(AliTPCParam)
-
-const static Int_t kMaxRows=600;
-//
-//sector default parameters
-//
-const static Float_t kInnerRadiusLow = 81.6;
-const static Float_t kOuterRadiusLow = 144.2;
-const static Float_t kInnerRadiusUp = 143.6;
-const static Float_t kOuterRadiusUp = 252.1;
-const static Float_t kInnerAngle = 20; // 20 degrees
-const static Float_t kInnerAngleShift = 10;
-const static Float_t kOuterAngle = 20; // 20 degrees
-const static Float_t kOuterAngleShift = 10;
-const static Float_t kInnerFrameSpace = 1.5;
-const static Float_t kOuterFrameSpace = 1.5;
-const static Float_t kInnerWireMount = 1.15;
-const static Float_t kOuterWireMount = 1.15;
-const static Float_t kZLength =250.;
-const static Int_t kGeometryType = 0; //straight rows
-//
-//wires default parameters
-//
-const static Int_t kNInnerWiresPerPad = 5;
-const static Int_t kInnerDummyWire = 2;
-const static Float_t kInnerOffWire = 0.5;
-const static Int_t kNOuterWiresPerPad = 5;
-const static Int_t kOuterDummyWire = 2;
-const static Float_t kOuterOffWire = 0.5;
-//
-//pad default parameters
-//
-const static Float_t kInnerPadPitchLength = 2.05;
-const static Float_t kInnerPadPitchWidth = 0.35;
-const static Float_t kInnerPadLength = 2.05;
-const static Float_t kInnerPadWidth = 0.35;
-const static Float_t kOuterPadPitchLength = 2.05;
-const static Float_t kOuterPadPitchWidth = 0.35;
-const static Float_t kOuterPadLength = 2.05;
-const static Float_t kOuterPadWidth = 0.35;
-const static Bool_t kBMWPCReadout = kTRUE; //MWPC readout - another possibility GEM
-const static Int_t kNCrossRows = 1; //number of rows to cross-talk
-//
-//gas default parameters
-//
-const static Float_t kDiffT = 2.2e-2;
-const static Float_t kDiffL = 2.2e-2;
-const static Float_t kGasGain = 2.e4;
-const static Float_t kDriftV =2.85e6;
-const static Float_t kOmegaTau = 0.145;
-const static Float_t kAttCoef = 250.;
-const static Float_t kOxyCont = 5.e-6;
-//
-//electornic default parameters
-//
-const static Float_t kPadCoupling=0.5;
-const static Int_t kZeroSup=5;
-const static Float_t kNoise = 1000;
-const static Float_t kChipGain = 12;
-const static Float_t kChipNorm = 0.4;
-const static Float_t kTSample = 2.e-7;
-const static Float_t kTFWHM = 1.9e-7; //fwhm of charge distribution
-const static Int_t kMaxTBin =512;
-const static Int_t kADCSat =1024;
-const static Float_t kADCDynRange =2000.;
-//
-//
-//
-const static Float_t kBField =0.2;
-const static Float_t kNPrimLoss =10.9;
-const static Float_t kNTotalLoss =39.9;
-//
-//transformation coeficients
-//
-const static Float_t kDegtoRad = 0.01745329251994;
-const static Float_t kRadtoDeg = 57.29577951309;
-//
-//response constants
-//
-const static Int_t kNResponseMax=100;
-const static Float_t kResponseThreshold=0.01;
+ClassImp(AliTPCParam)
//___________________________________________
fResponseBin = 0;
fResponseWeight = 0;
fRotAngle = 0;
+ SetTitle("75x40_100x60_150x60");
SetDefault();
}
if ( (xyz[0]>0) && (xyz[1]<0) ) angle=2*TMath::Pi()+angle;
}
- sector=Int_t((angle-fInnerAngleShift)/fInnerAngle);
+ sector=Int_t(TMath::Nint((angle-fInnerAngleShift)/fInnerAngle));
Float_t cos,sin;
AdjustCosSin(sector,cos,sin);
if (x1>fOuterRadiusLow)
{
- sector=Int_t((angle-fOuterAngleShift)/fOuterAngle)+fNInnerSector;
+ sector=Int_t(TMath::Nint((angle-fOuterAngleShift)/fOuterAngle))+fNInnerSector;
if (xyz[2]<0) sector+=(fNOuterSector>>1);
}
else
return sector;
}
-Bool_t AliTPCParam::Transform(Float_t *xyz, Int_t *index, Int_t* oindex)
+Bool_t AliTPCParam::Transform(Float_t */*xyz*/, Int_t *index, Int_t* /*oindex*/)
{
//transformation from input coodination system to output coordination system
switch (index[0]){
{
//
// set opening angles
+ static const Float_t kDegtoRad = 0.01745329251994;
fInnerAngle = innerangle; //opening angle of Inner sector
fInnerAngleShift = innershift; //shift of first inner sector center to the 0
fOuterAngle = outerangle; //opening angle of outer sector
}
-Int_t AliTPCParam::GetIndex(Int_t sector, Int_t row)
+Int_t AliTPCParam::GetIndex(Int_t sector, Int_t row) const
{
//
//give index of the given sector and pad row
//
//set default parameters
//
+ //const static Int_t kMaxRows=600;
+ //
+ //sector default parameters
+ //
+ static const Float_t kInnerRadiusLow = 82.97;
+ static const Float_t kInnerRadiusUp = 133.17;
+ static const Float_t kOuterRadiusLow = 133.58;
+ static const Float_t kOuterRadiusUp = 247.78;
+ static const Float_t kInnerAngle = 20; // 20 degrees
+ static const Float_t kInnerAngleShift = 10;
+ static const Float_t kOuterAngle = 20; // 20 degrees
+ static const Float_t kOuterAngleShift = 10;
+ static const Float_t kInnerFrameSpace = 1.5;
+ static const Float_t kOuterFrameSpace = 1.5;
+ static const Float_t kInnerWireMount = 1.370825926;
+ static const Float_t kOuterWireMount = 1.370825926;
+ static const Float_t kZLength =250.;
+ static const Int_t kGeometryType = 0; //straight rows
+ static const Int_t kNRowLow = 63;
+ static const Int_t kNRowUp1 = 64;
+ static const Int_t kNRowUp2 = 32;
+ static const Int_t kNRowUp = 96;
+ //
+ //wires default parameters
+ //
+ static const Int_t kNInnerWiresPerPad = 3;
+ static const Int_t kInnerDummyWire = 2;
+ static const Float_t kInnerWWPitch = 0.25;
+ static const Float_t kRInnerFirstWire = 84.445;
+ static const Float_t kRInnerLastWire = 132.445;
+ static const Float_t kInnerOffWire = 0.5;
+ static const Int_t kNOuter1WiresPerPad = 4;
+ static const Int_t kNOuter2WiresPerPad = 6;
+ static const Float_t kOuterWWPitch = 0.25;
+ static const Float_t kROuterFirstWire = 134.305;
+ static const Float_t kROuterLastWire = 247.055;
+ static const Int_t kOuterDummyWire = 2;
+ static const Float_t kOuterOffWire = 0.5;
+ //
+ //pad default parameters
+ //
+ static const Float_t kInnerPadPitchLength = 0.75;
+ static const Float_t kInnerPadPitchWidth = 0.40;
+ static const Float_t kInnerPadLength = 0.75;
+ static const Float_t kInnerPadWidth = 0.40;
+ static const Float_t kOuter1PadPitchLength = 1.0;
+ static const Float_t kOuterPadPitchWidth = 0.6;
+ static const Float_t kOuter1PadLength = 1.0;
+ static const Float_t kOuterPadWidth = 0.6;
+ static const Float_t kOuter2PadPitchLength = 1.5;
+ static const Float_t kOuter2PadLength = 1.5;
+
+ static const Bool_t kBMWPCReadout = kTRUE; //MWPC readout - another possibility GEM
+ static const Int_t kNCrossRows = 1; //number of rows to cross-talk
+
+ //
+ //gas default parameters
+ //
+ static const Float_t kDiffT = 2.2e-2;
+ static const Float_t kDiffL = 2.2e-2;
+ static const Float_t kGasGain = 2.e4;
+ static const Float_t kDriftV =2.83e6;
+ static const Float_t kOmegaTau = 0.145;
+ static const Float_t kAttCoef = 250.;
+ static const Float_t kOxyCont = 5.e-6;
+ //
+ //electronic default parameters
+ //
+ static const Float_t kPadCoupling=0.5;
+ static const Int_t kZeroSup=2;
+ static const Float_t kNoise = 1000;
+ static const Float_t kChipGain = 12;
+ static const Float_t kChipNorm = 0.4;
+ static const Float_t kTSample = 2.e-7;
+ static const Float_t kTFWHM = 1.9e-7; //fwhm of charge distribution
+ static const Int_t kMaxTBin =445;
+ static const Int_t kADCSat =1024;
+ static const Float_t kADCDynRange =2000.;
+ //
+ //
+ //
+ static const Float_t kBField =0.2;
+ static const Float_t kNPrimLoss =10.9;
+ static const Float_t kNTotalLoss =39.9;
+ //
+ //response constants
+ //
+ static const Int_t kNResponseMax=100;
+ static const Float_t kResponseThreshold=0.01;
fbStatus = kFALSE;
//
//set sector parameters
SetSectorAngles(kInnerAngle,kInnerAngleShift,kOuterAngle,kOuterAngleShift);
SetZLength(kZLength);
SetGeometryType(kGeometryType);
+ SetRowNLow(kNRowLow);
+ SetRowNUp1 (kNRowUp1);
+ SetRowNUp2(kNRowUp2);
+ SetRowNUp(kNRowUp);
//
//set wire parameters
//
SetInnerNWires(kNInnerWiresPerPad);
SetInnerDummyWire(kInnerDummyWire);
SetInnerOffWire(kInnerOffWire);
- SetOuterNWires(kNOuterWiresPerPad);
+ SetOuter1NWires(kNOuter1WiresPerPad);
+ SetOuter2NWire(kNOuter2WiresPerPad);
SetOuterDummyWire(kOuterDummyWire);
SetOuterOffWire(kOuterOffWire);
+ SetInnerWWPitch(kInnerWWPitch);
+ SetRInnerFirstWire(kRInnerFirstWire);
+ SetRInnerLastWire(kRInnerLastWire);
+ SetOuterWWPitch(kOuterWWPitch);
+ SetROuterFirstWire(kROuterFirstWire);
+ SetROuterLastWire(kROuterLastWire);
//
//set pad parameter
//
SetInnerPadPitchWidth(kInnerPadPitchWidth);
SetInnerPadLength(kInnerPadLength);
SetInnerPadWidth(kInnerPadWidth);
- SetOuterPadPitchLength(kOuterPadPitchLength);
+ SetOuter1PadPitchLength(kOuter1PadPitchLength);
+ SetOuter2PadPitchLength(kOuter2PadPitchLength);
SetOuterPadPitchWidth(kOuterPadPitchWidth);
- SetOuterPadLength(kOuterPadLength);
+ SetOuter1PadLength(kOuter1PadLength);
+ SetOuter2PadLength(kOuter2PadLength);
SetOuterPadWidth(kOuterPadWidth);
SetMWPCReadout(kBMWPCReadout);
SetNCrossRows(kNCrossRows);
//set response parameters
//
SetNResponseMax(kNResponseMax);
- SetResponseThreshold(kResponseThreshold);
+ SetResponseThreshold(static_cast<int>(kResponseThreshold));
}
// for example we can change size of pads and according this recalculate number
// of pad rows, number of of pads in given row ....
//
+ const Float_t kQel = 1.602e-19; // elementary charge
fbStatus = kFALSE;
Int_t i,j; //loop variables because HP
fRotAngle[j+2] =angle;
}
fZWidth = fTSample*fDriftV;
- fTotalNormFac = fPadCoupling*fChipNorm*q_el*1.e15*fChipGain*fADCSat/fADCDynRange;
- fNoiseNormFac = q_el*1.e15*fChipGain*fADCSat/fADCDynRange;
+ fTotalNormFac = fPadCoupling*fChipNorm*kQel*1.e15*fChipGain*fADCSat/fADCDynRange;
+ fNoiseNormFac = kQel*1.e15*fChipGain*fADCSat/fADCDynRange;
//wire section
- Int_t nwire;
+ /* Int_t nwire;
Float_t wspace; //available space for wire
Float_t dummyspace; //dummyspace for wire
-
- fInnerWWPitch = Float_t((Double_t)fInnerPadPitchLength/(Double_t)fNInnerWiresPerPad);
+
wspace =fInnerRadiusUp-fInnerRadiusLow-2*fInnerOffWire;
nwire = Int_t(wspace/fInnerWWPitch);
wspace = Float_t(nwire)*fInnerWWPitch;
- dummyspace =(fInnerRadiusUp-fInnerRadiusLow-wspace)/2.;
- fRInnerFirstWire = fInnerRadiusLow+dummyspace;
- fRInnerLastWire = fRInnerFirstWire+fInnerWWPitch*(Float_t)(nwire);
-
- fOuterWWPitch = Float_t((Double_t)fOuterPadPitchLength/(Double_t)fNOuterWiresPerPad);
+ dummyspace =(fInnerRadiusUp-fInnerRadiusLow-wspace)/2.;
wspace =fOuterRadiusUp-fOuterRadiusLow-2*fOuterOffWire;
nwire = Int_t(wspace/fOuterWWPitch);
wspace = Float_t(nwire)*fOuterWWPitch;
dummyspace =(fOuterRadiusUp-fOuterRadiusLow-wspace)/2.;
fROuterFirstWire = fOuterRadiusLow+dummyspace;
fROuterLastWire = fROuterFirstWire+fOuterWWPitch*(Float_t)(nwire);
-
+ */
//
//response data
//get the number of pad rows in up sector
return fNRowUp;
}
+Int_t AliTPCParam::GetNRowUp1() const
+{
+ //get the number of pad rows in up1 sector
+ return fNRowUp1;
+}
+Int_t AliTPCParam::GetNRowUp2() const
+{
+ //get the number of pad rows in up2 sector
+ return fNRowUp2;
+}
Float_t AliTPCParam::GetPadRowRadiiLow(Int_t irow) const
{
//get the pad row (irow) radii
else
return 0;
}
+Float_t AliTPCParam::GetYInner(Int_t irow) const
+{
+ return fYInner[irow];
+}
-void AliTPCParam::Streamer(TBuffer &R__b)
+Float_t AliTPCParam::GetYOuter(Int_t irow) const
{
- // Stream an object of class AliTPC.
-
- if (R__b.IsReading()) {
- Version_t R__v = R__b.ReadVersion(); if (R__v) { }
- AliDetectorParam::Streamer(R__b);
- if (R__v < 2) return;
- //---------------------------------------------------------------------
- // ALICE TPC sector geometry
- //--------------------------------------------------------------------
- R__b >> fInnerRadiusLow; // lower radius of inner sector-IP
- R__b >> fInnerRadiusUp; // upper radius of inner sector-IP
- R__b >> fOuterRadiusUp; // upper radius of outer sector-IP
- R__b >> fOuterRadiusLow; // lower radius of outer sector-IP
- R__b >> fInnerAngle; //opening angle of Inner sector
- R__b >> fInnerAngleShift; //shift of first inner sector center to the 0
- R__b >> fOuterAngle; //opening angle of outer sector
- R__b >> fOuterAngleShift; //shift of first sector center to the 0
- R__b >> fInnerFrameSpace; //spce for inner frame in the phi direction
- R__b >> fOuterFrameSpace; //spce for outer frame in the phi direction
- R__b >> fInnerWireMount;
- R__b >> fOuterWireMount;
- //R__b >> fNInnerSector; //!number of inner sectors - calculated
- //R__b >> fNOuterSector; //!number of outer sectors -calculated
- //R__b >> fNSector; //! total number of sectors -calculated
- R__b >> fZLength; //length of the drift region of the TPC
- //R__b.ReadFastArray(fRotAngle,fNSector*4); // sin and cos of rotation angles for
- R__b >> fGeometryType; //type of geometry -0 straight rows
- // diferent sectors
- //---------------------------------------------------------------------
- // ALICE TPC wires geometry
- //--------------------------------------------------------------------
- R__b >> fNInnerWiresPerPad;// Number of wires per pad
- //R__b >> fInnerWWPitch; // pitch between wires in inner sector - calculated
- R__b >> fInnerDummyWire; //number of wires without pad readout
- R__b >> fInnerOffWire;//oofset of first wire to the begining of the sector
- //R__b >> fRInnerFirstWire; //position of the first wire -calculated
- //R__b >> fRInnerLastWire; //position of the last wire -calculated
- R__b >> fNOuterWiresPerPad;// Number of wires per pad
- //R__b >> fOuterWWPitch; // pitch between wires in outer sector - calculated
- R__b >> fOuterDummyWire; //number of wires without pad readout
- R__b >> fOuterOffWire;//oofset of first wire to the begining of the sector
- //R__b >> fROuterFirstWire; //position of the first wire -calulated
- //R__b >> fROuterLastWire; //position of the last wire -calculated
- //---------------------------------------------------------------------
- // ALICE TPC pad parameters
- //--------------------------------------------------------------------
- R__b >> fInnerPadPitchLength; //Inner pad pitch length
- R__b >> fInnerPadPitchWidth; //Inner pad pitch width
- R__b >> fInnerPadLength; //Inner pad length
- R__b >> fInnerPadWidth; //Inner pad width
- R__b >> fOuterPadPitchLength; //Outer pad pitch length
- R__b >> fOuterPadPitchWidth; //Outer pad pitch width
- R__b >> fOuterPadLength; //Outer pad length
- R__b >> fOuterPadWidth; //Outer pad width
- R__b >> fBMWPCReadout; //indicate wire readout
- R__b >> fNCrossRows; //number of pad rows to crostalk
- R__b >> fNRowLow; // number of pad rows per low sector
- R__b >> fNRowUp; // number of pad rows per sector up
- //R__b >> fPadRowLow[600]; // Lower sector, pad row radii
- //R__b >> fPadRowUp[600]; // Upper sector, pad row radii
- //R__b >> fNPadsLow[600]; // Lower sector, number of pads per row
- //R__b >> fNPadsUp[600]; // Upper sector, number of pads per row
- //---------------------------------------------------------------------
- // ALICE TPC Gas Parameters
- //--------------------------------------------------------------------
- R__b >> fDiffT; //tangencial diffusion constant
- R__b >> fDiffL; //longutudinal diffusion constant
- R__b >> fGasGain; //gas gain constant
- R__b >> fDriftV; //drift velocity constant
- R__b >> fOmegaTau; //omega tau ExB coeficient
- R__b >> fAttCoef; //attachment coefitients
- R__b >> fOxyCont; //oxygen content
- //---------------------------------------------------------------------
- // ALICE TPC Electronics Parameters
- //--------------------------------------------------------------------
- R__b >> fPadCoupling; //coupling factor ration of anode signal
- //and total pads signal
- R__b >> fZeroSup; //zero suppresion constant
- R__b >> fNoise; //noise sigma constant
- R__b >> fChipGain; //preamp shaper constant
- R__b >> fChipNorm; //preamp shaper normalisation
- R__b >> fTSample; // sampling time
- R__b >> fZWidth; //derived value calculated using TSample and driftw
- R__b >> fTSigma; // width of the Preamp/Shaper function
- R__b >> fMaxTBin; //maximum time bin number
- R__b >> fADCSat; //saturation value of ADC (10 bits)
- R__b >> fADCDynRange; // input dynamic range (mV)
- //--------------------------------------------------------
- } else {
- R__b.WriteVersion(AliTPCParam::IsA());
- AliDetectorParam::Streamer(R__b);
- //---------------------------------------------------------------------
- // ALICE TPC sector geometry
- //--------------------------------------------------------------------
- R__b << fInnerRadiusLow; // lower radius of inner sector-IP
- R__b << fInnerRadiusUp; // upper radius of inner sector-IP
- R__b << fOuterRadiusUp; // upper radius of outer sector-IP
- R__b << fOuterRadiusLow; // lower radius of outer sector-IP
- R__b << fInnerAngle; //opening angle of Inner sector
- R__b << fInnerAngleShift; //shift of first inner sector center to the 0
- R__b << fOuterAngle; //opening angle of outer sector
- R__b << fOuterAngleShift; //shift of first sector center to the 0
- R__b << fInnerFrameSpace; //spce for inner frame in the phi direction
- R__b << fOuterFrameSpace; //spce for outer frame in the phi direction
- R__b << fInnerWireMount;
- R__b << fOuterWireMount;
- //R__b << fNInnerSector; //!number of inner sectors - calculated
- //R__b << fNOuterSector; //!number of outer sectors -calculated
- //R__b << fNSector; //! total number of sectors -calculated
- R__b << fZLength; //length of the drift region of the TPC
- //R__b.WriteFastArray(fRotAngle,fNSector*4); // sin and cos of rotation angles for
- R__b << fGeometryType; //type of geometry -0 straight rows
-
- // diferent sectors
- //---------------------------------------------------------------------
- // ALICE TPC wires geometry
- //--------------------------------------------------------------------
- R__b << fNInnerWiresPerPad;// Number of wires per pad
- // R__b << fInnerWWPitch; // pitch between wires in inner sector - calculated
- R__b << fInnerDummyWire; //number of wires without pad readout
- R__b << fInnerOffWire;//oofset of first wire to the begining of the sector
- //R__b << fRInnerFirstWire; //position of the first wire -calculated
- //R__b << fRInnerLastWire; //position of the last wire -calculated
- R__b << fNOuterWiresPerPad;// Number of wires per pad
- //R__b << fOuterWWPitch; // pitch between wires in outer sector - calculated
- R__b << fOuterDummyWire; //number of wires without pad readout
- R__b << fOuterOffWire;//oofset of first wire to the begining of the sector
- //R__b << fROuterFirstWire; //position of the first wire -calulated
- //R__b << fROuterLastWire; //position of the last wire -calculated
- //---------------------------------------------------------------------
- // ALICE TPC pad parameters
- //--------------------------------------------------------------------
- R__b << fInnerPadPitchLength; //Inner pad pitch length
- R__b << fInnerPadPitchWidth; //Inner pad pitch width
- R__b << fInnerPadLength; //Inner pad length
- R__b << fInnerPadWidth; //Inner pad width
- R__b << fOuterPadPitchLength; //Outer pad pitch length
- R__b << fOuterPadPitchWidth; //Outer pad pitch width
- R__b << fOuterPadLength; //Outer pad length
- R__b << fOuterPadWidth; //Outer pad width
- R__b << fBMWPCReadout; //indicate wire readout
- R__b << fNCrossRows; // number of rows to cross talk
- R__b << fNRowLow; // number of pad rows per low sector
- R__b << fNRowUp; // number of pad rows per sector up
- // R__b << fPadRowLow[600]; // Lower sector, pad row radii
- //R__b << fPadRowUp[600]; // Upper sector, pad row radii
- //R__b << fNPadsLow[600]; // Lower sector, number of pads per row
- //R__b << fNPadsUp[600]; // Upper sector, number of pads per row
- //---------------------------------------------------------------------
- // ALICE TPC Gas Parameters
- //--------------------------------------------------------------------
- R__b << fDiffT; //tangencial diffusion constant
- R__b << fDiffL; //longutudinal diffusion constant
- R__b << fGasGain; //gas gain constant
- R__b << fDriftV; //drift velocity constant
- R__b << fOmegaTau; //omega tau ExB coeficient
- R__b << fAttCoef; //attachment coefitients
- R__b << fOxyCont; //oxygen content
- //---------------------------------------------------------------------
- // ALICE TPC Electronics Parameters
- //--------------------------------------------------------------------
- R__b << fPadCoupling; //coupling factor ration of anode signal
- //and total pads signal
- R__b << fZeroSup; //zero suppresion constant
- R__b << fNoise; //noise sigma constant
- R__b << fChipGain; //preamp shaper constant
- R__b << fChipNorm; //preamp shaper normalisation
- R__b << fTSample; // sampling time
- R__b << fZWidth; //derived value calculated using TSample and driftw
- R__b << fTSigma; // width of the Preamp/Shaper function
- R__b << fMaxTBin; //maximum time bin number
- R__b << fADCSat; //saturation value of ADC (10 bits)
- R__b << fADCDynRange; // input dynamic range (mV)
- }
+ return fYOuter[irow];
}
+
+
+
+
+
+
+