/*
$Log$
+Revision 1.10 2000/07/10 20:57:39 hristov
+Update of TPC code and macros by M.Kowalski
+
Revision 1.9 2000/06/30 12:07:50 kowal2
Updated from the TPC-PreRelease branch
return 0;
}
-
-void AliTPCParam::Streamer(TBuffer &R__b)
-{
- // 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)
- }
-}
-