From: hristov Date: Tue, 30 Jan 2001 09:23:16 +0000 (+0000) Subject: Streamers removed (R.Brun) X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=a8a6107b8ec2a0ac82487a82099095c32cffd002;p=u%2Fmrichter%2FAliRoot.git Streamers removed (R.Brun) --- diff --git a/ALIFAST/AliFMaker.cxx b/ALIFAST/AliFMaker.cxx index cc711f090f3..eedaa355535 100644 --- a/ALIFAST/AliFMaker.cxx +++ b/ALIFAST/AliFMaker.cxx @@ -179,12 +179,10 @@ void AliFMaker::Streamer(TBuffer &R__b) // Stream an object of class AliFMaker. if (R__b.IsReading()) { - R__b.ReadVersion(); // Version_t R__v = R__b.ReadVersion(); - TNamed::Streamer(R__b); - R__b >> fSave; - R__b >> fFruits; - fBranchName.Streamer(R__b); - R__b >> fHistograms; + UInt_t R__s, R__c; + Version_t R__v = R__b.ReadVersion(&R__s, &R__c); + + AliFMaker::Class()->ReadBuffer(R__b, this, R__v, R__s, R__c); //this is an addition to the standard rootcint version of Streamer //branch address for this maker is set automatically TTree *tree = gAliFast->Tree(); @@ -192,12 +190,7 @@ void AliFMaker::Streamer(TBuffer &R__b) TBranch *branch = tree->GetBranch(fBranchName.Data()); if (branch) branch->SetAddress(&fFruits); } else { - R__b.WriteVersion(AliFMaker::IsA()); - TNamed::Streamer(R__b); - R__b << fSave; - R__b << fFruits; - fBranchName.Streamer(R__b); - R__b << fHistograms; + AliFMaker::Class()->WriteBuffer(R__b,this); } } diff --git a/ALIFAST/AliFast.cxx b/ALIFAST/AliFast.cxx index 2e75a4ba5b1..ba2209047c8 100644 --- a/ALIFAST/AliFast.cxx +++ b/ALIFAST/AliFast.cxx @@ -513,47 +513,17 @@ void AliFast::Streamer(TBuffer &R__b) // Stream an object of class AliFast. if (R__b.IsReading()) { - R__b.ReadVersion(); // Version_t R__v = R__b.ReadVersion(); - TNamed::Streamer(R__b); + UInt_t R__s, R__c; if (!gAliFast) gAliFast = this; gROOT->GetListOfBrowsables()->Add(this,"AliFast"); - R__b >> fVersion; - R__b >> fVersionDate; - R__b >> fRun; - R__b >> fEvent; - R__b >> fMode; + + Version_t R__v = R__b.ReadVersion(&R__s, &R__c); + + AliFast::Class()->ReadBuffer(R__b, this, R__v, R__s, R__c); + fTree = (TTree*)gDirectory->Get("T"); - R__b >> fMakers; - // R__b >> fMCMaker; - R__b >> fTrackMaker; - R__b >> fLuminosity; - R__b >> fBfield; - R__b >> fSmearing; - R__b >> fSUSYcodeLSP; - R__b >> fTrackFinding; - // fca - fHistBrowser.Streamer(R__b); - // fca } else { - R__b.WriteVersion(AliFast::IsA()); - TNamed::Streamer(R__b); - R__b << fVersion; - R__b << fVersionDate; - R__b << fRun; - R__b << fEvent; - R__b << fMode; - fTree->Write(); - R__b << fMakers; - //R__b << fMCMaker; - R__b << fTrackMaker; - R__b << fLuminosity; - R__b << fBfield; - R__b << fSmearing; - R__b << fSUSYcodeLSP; - R__b << fTrackFinding; - // fca - fHistBrowser.Streamer(R__b); - // fca + AliFast::Class()->WriteBuffer(R__b,this); } } diff --git a/ALIFAST/AliFast.h b/ALIFAST/AliFast.h index f24841d2578..c7bbd2be18d 100644 --- a/ALIFAST/AliFast.h +++ b/ALIFAST/AliFast.h @@ -46,12 +46,12 @@ private: Int_t fVersionDate; //AliFast version date Int_t fMode; //Run mode Int_t fTestTrack; //Test mode for TrackMaker - TTree *fTree; //Pointer to the Root tree + TTree *fTree; //!Pointer to the Root tree TList *fMakers; //List of Makers // pointers to standard Makers - AliFMCMaker *fMCMaker; //Pointer to MCMaker - AliFTrackMaker *fTrackMaker; //Pointer to TrackMaker - AliFDet *fDet; //Pointer to Detector + AliFMCMaker *fMCMaker; //!Pointer to MCMaker + AliFTrackMaker *fTrackMaker; //!Pointer to TrackMaker + AliFDet *fDet; //!Pointer to Detector // flags and switches Int_t fLuminosity; //Luminosity option (low=1, high=2) Bool_t fBfield; //B-field (on=1,off=0) diff --git a/CONTAINERS/AliArrayI.cxx b/CONTAINERS/AliArrayI.cxx index 101d1ef039d..ae37f08c4b8 100644 --- a/CONTAINERS/AliArrayI.cxx +++ b/CONTAINERS/AliArrayI.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.1 2000/11/01 15:57:13 kowal2 +Moved from the TPC directory + Revision 1.2 2000/04/17 09:37:33 kowal2 removed obsolete AliTPCDigitsDisplay.C @@ -47,29 +50,3 @@ void AliArrayI::Expand(Int_t n) fArray = (Int_t*) TStorage::ReAlloc(fArray, n * sizeof(Int_t),fN * sizeof(Int_t)); if (fArray!=0) fN= n; } -/* -void AliArrayI::Streamer(TBuffer &R__b) -{ - // Stream an object of class AliTPC. - - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); if (R__v) { } - TObject::Streamer(R__b); - //read pad parameters - R__b >> fN; - if (fArray!=0) { - delete [] fArray; - fArray = 0; - } - if (fN>0){ - fArray = new Int_t[fN]; - R__b.ReadFastArray(fArray,fN); - } - } else { - R__b.WriteVersion(AliArrayI::IsA()); - TObject::Streamer(R__b); - R__b << fN; - if (fN>0) R__b.WriteFastArray(fArray,fN); - } -} -*/ diff --git a/CONTAINERS/AliArrayS.cxx b/CONTAINERS/AliArrayS.cxx index 020d180efd1..64e1e12ba62 100644 --- a/CONTAINERS/AliArrayS.cxx +++ b/CONTAINERS/AliArrayS.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.1 2000/11/01 15:57:13 kowal2 +Moved from the TPC directory + Revision 1.2 2000/04/17 09:37:33 kowal2 removed obsolete AliTPCDigitsDisplay.C @@ -48,31 +51,3 @@ void AliArrayS::Expand(Int_t n) if (fArray!=0) fN= n; else fN =0; } - - -/* -void AliArrayS::Streamer(TBuffer &R__b) -{ - // Stream an object of class AliTPC. - - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); if (R__v) { } - TObject::Streamer(R__b); - //read pad parameters - R__b >> fN; - if (fArray!=0){ - delete [] fArray; - fArray =0; - } - if (fN>0){ - fArray = new Short_t[fN]; - R__b.ReadFastArray(fArray,fN); - } - } else { - R__b.WriteVersion(AliArrayS::IsA()); - TObject::Streamer(R__b); - R__b << fN; - if (fN>0) R__b.WriteFastArray(fArray,fN); - } -} - */ diff --git a/EVGEN/AliDecayerPythia.cxx b/EVGEN/AliDecayerPythia.cxx index 038d6705cb0..4725771f3a6 100644 --- a/EVGEN/AliDecayerPythia.cxx +++ b/EVGEN/AliDecayerPythia.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.3 2000/12/21 16:24:06 morsch +Coding convention clean-up + Revision 1.2 2000/09/12 13:58:45 morsch SetForceDcay(..) sets the member data storing the forced decay information. ForceDecay() executes the change of the decay table. @@ -370,6 +373,7 @@ Float_t AliDecayerPythia::GetPartialBranchingRatio(Int_t kf) return fBraPart[kc]; } +#ifdef never void AliDecayerPythia::Streamer(TBuffer &R__b) { // Stream an object of class AliDecayerPythia. @@ -388,7 +392,7 @@ void AliDecayerPythia::Streamer(TBuffer &R__b) R__b.WriteArray(fBraPart, 501); } } - +#endif void AliDecayerPythia::Copy(AliDecayerPythia &decayer) const { diff --git a/EVGEN/AliDecayerPythia.h b/EVGEN/AliDecayerPythia.h index 7926377aff8..ca11bd01e53 100644 --- a/EVGEN/AliDecayerPythia.h +++ b/EVGEN/AliDecayerPythia.h @@ -47,7 +47,7 @@ public AliDecayer private: - AliPythia* fPythia; // ! Pointer to AliPythia + AliPythia* fPythia; // Pointer to AliPythia Decay_t fDecay; // Forced decay mode Float_t fBraPart[501]; // Branching ratios diff --git a/EVGEN/AliGenCocktail.cxx b/EVGEN/AliGenCocktail.cxx index f90dae26dc8..24fd346b20d 100644 --- a/EVGEN/AliGenCocktail.cxx +++ b/EVGEN/AliGenCocktail.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.10 2001/01/26 19:55:49 hristov +Major upgrade of AliRoot code + Revision 1.9 2000/12/21 16:24:06 morsch Coding convention clean-up @@ -208,37 +211,6 @@ NextGeneratorPair(AliGenCocktailEntry*& e1, AliGenCocktailEntry*& e2) } } -/* -void AliGenCocktail::Streamer(TBuffer &R__b) -{ - // Stream an object of class AliGenCocktail. - - AliGenCocktailEntry *entry; - - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); if (R__v) { } - AliGenerator::Streamer(R__b); - R__b >> fNGenerators; - R__b >> fEntries; - TIter next(fEntries); -// Stream generation related information - while((entry = (AliGenCocktailEntry*)next())) { - entry->Streamer(R__b); - } - } else { - R__b.WriteVersion(AliGenCocktail::IsA()); - AliGenerator::Streamer(R__b); - R__b << fNGenerators; - R__b << fEntries; - TIter next(fEntries); -// Stream generation related information - while((entry = (AliGenCocktailEntry*)next())) { - entry->Streamer(R__b); - } - } -} -*/ - AliGenCocktail& AliGenCocktail::operator=(const AliGenCocktail& rhs) { // Assignment operator diff --git a/EVGEN/AliGenPythia.cxx b/EVGEN/AliGenPythia.cxx index cc2d81e7490..83b4e18d316 100644 --- a/EVGEN/AliGenPythia.cxx +++ b/EVGEN/AliGenPythia.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.32 2001/01/26 19:55:51 hristov +Major upgrade of AliRoot code + Revision 1.31 2001/01/17 10:54:31 hristov Better protection against FPE @@ -532,6 +535,7 @@ AliGenPythia& AliGenPythia::operator=(const AliGenPythia& rhs) +#ifdef never void AliGenPythia::Streamer(TBuffer &R__b) { // Stream an object of class AliGenPythia. @@ -570,5 +574,5 @@ void AliGenPythia::Streamer(TBuffer &R__b) // fDecayer->Streamer(R__b); } } - +#endif diff --git a/EVGEN/AliGenPythia.h b/EVGEN/AliGenPythia.h index c06a94a232a..3e5ec381f65 100644 --- a/EVGEN/AliGenPythia.h +++ b/EVGEN/AliGenPythia.h @@ -52,7 +52,7 @@ class AliGenPythia : public AliGenerator TArrayI fParentSelect; // Parent particles to be selected TArrayI fChildSelect; // Decay products to be selected Float_t fXsection; // Cross-section - AliPythia *fPythia; // Pythia + AliPythia *fPythia; //! Pythia Float_t fPtHardMin; // lower pT-hard cut Float_t fPtHardMax; // higher pT-hard cut Int_t fNucA1; // mass number nucleus side 1 diff --git a/EVGEN/EVGENLinkDef.h b/EVGEN/EVGENLinkDef.h index 4087d408470..55adffd7581 100644 --- a/EVGEN/EVGENLinkDef.h +++ b/EVGEN/EVGENLinkDef.h @@ -18,7 +18,7 @@ #pragma link C++ class AliGenFixed+; #pragma link C++ class AliGenBox+; #pragma link C++ class AliGenParam+; -#pragma link C++ class AliGenPythia-; +#pragma link C++ class AliGenPythia+; #pragma link C++ class AliGenCocktail+; #pragma link C++ class AliGenCocktailEntry+; #pragma link C++ class AliGenExtFile+; @@ -39,7 +39,7 @@ #pragma link C++ class AliGenHijingEventHeader+; #pragma link C++ class AliGenHijing+; #pragma link C++ class AliDecayer+; -#pragma link C++ class AliDecayerPythia-; +#pragma link C++ class AliDecayerPythia+; #pragma link C++ class AliGenMuonHits+; #endif diff --git a/GEODB/AliGMaterial.cxx b/GEODB/AliGMaterial.cxx index aad3c82b718..2c8c66ce302 100644 --- a/GEODB/AliGMaterial.cxx +++ b/GEODB/AliGMaterial.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.2 1999/09/29 09:24:19 fca +Introduction of the Copyright and cvs Log + */ // -*- C++ -*- @@ -173,59 +176,3 @@ AliGMaterial* AliGMaterial::operator=( const AliGMaterial* Mat ) return this; } - -//------------------------------------------------------------------------- - -void AliGMaterial::Streamer(TBuffer &R__b) -{ - // Stream an object of class AliGMaterial. - - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); if (R__v) { } - TNamed::Streamer(R__b); - R__b >> fImat; - R__b >> fIsvol; - R__b >> fIfield; - R__b >> fFieldm; - R__b >> fTmaxfd; - R__b >> fStemax; - R__b >> fDeemax; - R__b >> fEpsil; - R__b >> fStmin; - R__b.ReadArray(fUbuf); // - R__b >> fNbuf; - R__b >> fA; - R__b >> fZ; - R__b >> fDens; - R__b >> fRadl; - R__b >> fAbsl; - R__b.ReadArray(fBuf); // - R__b >> fNwbuf; - R__b >> fRho; - } else { - R__b.WriteVersion(AliGMaterial::IsA()); - TNamed::Streamer(R__b); - R__b << fImat; - R__b << fIsvol; - R__b << fIfield; - R__b << fFieldm; - R__b << fTmaxfd; - R__b << fStemax; - R__b << fDeemax; - R__b << fEpsil; - R__b << fStmin; - R__b.WriteArray(fUbuf, fNbuf); // - R__b << fNbuf; - R__b << fA; - R__b << fZ; - R__b << fDens; - R__b << fRadl; - R__b << fAbsl; - R__b.WriteArray(fBuf, fNbuf); // - R__b << fNwbuf; - R__b << fRho; - } -} - -//------------------------------------------------------------------------- - diff --git a/GEODB/AliGMaterial.h b/GEODB/AliGMaterial.h index b15e2d5cda4..e9faaaae0ea 100644 --- a/GEODB/AliGMaterial.h +++ b/GEODB/AliGMaterial.h @@ -18,10 +18,10 @@ class AliGMaterial: public TNamed { Float_t fDeemax; Float_t fEpsil; Float_t fStmin; + Int_t fNbuf; - Float_t* fUbuf; + Float_t* fUbuf; //[fNbuf] - Int_t fNbuf; Float_t fA; Float_t fZ; Float_t fDens; @@ -31,7 +31,7 @@ class AliGMaterial: public TNamed { Float_t* fBuf; - Int_t fNwbuf; + Int_t fNwbuf; //[fNbuf] Float_t fRho; /* Density of material */ public: diff --git a/GEODB/GEODBLinkDef.h b/GEODB/GEODBLinkDef.h index 978ac0e12e0..d7b09340d92 100644 --- a/GEODB/GEODBLinkDef.h +++ b/GEODB/GEODBLinkDef.h @@ -14,7 +14,7 @@ #pragma link C++ class AliGBox+; #pragma link C++ class AliGSphere-; #pragma link C++ class AliGTransform+; -#pragma link C++ class AliGMaterial-; +#pragma link C++ class AliGMaterial+; #pragma link C++ class AliGSuperShape+; #pragma link C++ class AliGConfig+; #pragma link C++ class AliGNode+; diff --git a/ITS/AliITS.cxx b/ITS/AliITS.cxx index 1b73c2df678..f4dfc113768 100644 --- a/ITS/AliITS.cxx +++ b/ITS/AliITS.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.29 2001/01/26 20:01:09 hristov +Major upgrade of AliRoot code + Revision 1.28 2000/12/18 14:02:00 barbera new version of the ITS tracking to take into account the new TPC track parametrization @@ -168,7 +171,6 @@ the AliITS class. #include "../TPC/AliTPC.h" #include "../TPC/AliTPCParam.h" -const Int_t AliITS::fgkNTYPES=3; ClassImp(AliITS) @@ -187,7 +189,7 @@ AliITS::AliITS() : AliDetector() { fIshunt = 0; fEuclidOut = 0; - //fNDetTypes = fgkNTYPES; + fNDetTypes = kNTYPES; fIdN = 0; fIdName = 0; fIdSens = 0; @@ -225,13 +227,13 @@ AliITS::AliITS(const char *name, const char *title):AliDetector(name,title){ fHits = new TClonesArray("AliITShit", 1560); gAlice->AddHitList(fHits); - //fNDetTypes = fgkNTYPES; + fNDetTypes = kNTYPES; - fNdtype = new Int_t[fgkNTYPES]; - fDtype = new TObjArray(fgkNTYPES); + fNdtype = new Int_t[kNTYPES]; + fDtype = new TObjArray(kNTYPES); - fNctype = new Int_t[fgkNTYPES]; - fCtype = new TObjArray(fgkNTYPES); + fNctype = new Int_t[kNTYPES]; + fCtype = new TObjArray(kNTYPES); fRecPoints = 0; @@ -247,10 +249,10 @@ AliITS::AliITS(const char *name, const char *title):AliDetector(name,title){ fIdName = 0; fIdSens = 0; - fDetTypes = new TObjArray(fgkNTYPES); + fDetTypes = new TObjArray(kNTYPES); Int_t i; - for(i=0;iClear(); if (fNdtype) fNdtype[i]=0; } @@ -515,7 +517,7 @@ void AliITS::ResetClusters() // Int_t i; - for (i=0;iClear(); if (fNctype) fNctype[i]=0; } @@ -640,7 +642,7 @@ void AliITS::SetDefaults() iDetType->ClassNames("AliITSdigit","AliITSRawClusterSSD"); } else iDetType->ClassNames("AliITSdigitSSD","AliITSRawClusterSSD"); - if (fgkNTYPES>3) { + if (kNTYPES>3) { Warning("SetDefaults","Only the three basic detector types are initialised!"); } @@ -679,8 +681,8 @@ void AliITS::MakeTreeC(Option_t *option) // one branch for Clusters per type of detector Int_t i; - for (i=0; iBranch(branchname,&((*fCtype)[i]), buffersize); @@ -715,8 +717,8 @@ void AliITS::GetTreeC(Int_t event) TBranch *branch; if (fTreeC) { Int_t i; - for (i=0; iGetBranch(branchname); @@ -755,7 +757,7 @@ void AliITS::MakeBranch(Option_t* option, char *file) char clclass[40]; Int_t i; - for (i=0; iGetClassNames(digclass,clclass); //printf("i, digclass, recclass %d %s %s\n",i,digclass,clclass); @@ -765,8 +767,8 @@ void AliITS::MakeBranch(Option_t* option, char *file) (*fCtype)[i] = new TClonesArray(clclass,10000); } - for (i=0; iTreeD()) { gAlice->MakeBranchInTree(gAlice->TreeD(), @@ -811,8 +813,8 @@ void AliITS::SetTreeAddress() Int_t i; if (treeD) { - for (i=0; iGetBranch(branchname); @@ -1097,7 +1099,7 @@ void AliITS::HitsToDigits(Int_t evNumber,Int_t bgrev,Int_t size, Option_t *optio Int_t id,module; Int_t first,last; - for (id=0;idUncheckedAt(id); AliITSDetType *iDetType=DetType(id); @@ -1167,7 +1169,7 @@ void AliITS::DigitsToRecPoints(Int_t evNumber,Int_t lastentry,Option_t *opt) AliITSgeom *geom = GetITSgeom(); Int_t id,module; - for (id=0;idUncheckedAt(id); AliITSDetType *iDetType=DetType(id); @@ -1255,7 +1257,7 @@ Option_t *option,Option_t *opt,Text_t *filename) Int_t id,module; - for (id=0;idGetSimulationModel(); @@ -1289,63 +1291,6 @@ Option_t *option,Option_t *opt,Text_t *filename) } - -//____________________________________________________________________________ -void AliITS::Streamer(TBuffer &R__b){ - // Stream an object of class AliITS. - - Int_t i; - - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); - if (R__v) { - AliDetector::Streamer(R__b); - R__b >> fIdN; - R__b.ReadArray(fIdSens); - if(fIdName!=0) delete[] fIdName; // Array of TStrings - fIdName = new TString[fIdN]; - for(i=0;i> fITSgeom; - R__b >> fITSmodules; - R__b >> fEuclidOut; - R__b >> fMajorVersion; - R__b >> fMinorVersion; - R__b >> fDetTypes; - R__b >> fDtype; - delete []fNdtype; - fNdtype = new Int_t[fgkNTYPES]; - R__b.ReadFastArray(fNdtype,fgkNTYPES); - R__b >> fCtype; - delete []fNctype; - fNctype = new Int_t[fgkNTYPES]; - R__b.ReadFastArray(fNctype,fgkNTYPES); - R__b >> fRecPoints; - R__b >> fNRecPoints; - R__b >> fTreeC; - } // end if R__v - } else { // writing - R__b.WriteVersion(AliITS::IsA()); - AliDetector::Streamer(R__b); - R__b << fIdN; - R__b.WriteArray(fIdSens,fIdN); - for(i=0;i> fStreamLen; - //printf("Streamer: fStreamLen %d\n",fStreamLen); - if (make) array=new unsigned char[fStreamLen]; - make=kFALSE; - memset(array,0,sizeof(UChar_t)*fStreamLen); - fInStream=array; - R__b.ReadFastArray(fInStream,fStreamLen); - - } else { - R__b << fStreamLen; - R__b.WriteFastArray(fInStream,fStreamLen); - } -} - - ClassImp(AliITSOutStream) @@ -112,13 +89,13 @@ ClassImp(AliITSOutStream) //__________________________________________________________________________ -AliITSOutStream::AliITSOutStream(ULong_t length) { +AliITSOutStream::AliITSOutStream(UInt_t length) { // // Creates a stream of unsigned chars // fStreamLen = length; - fOutStream = new ULong_t[length]; + fOutStream = new UInt_t[length]; ClearStream(); } @@ -153,11 +130,11 @@ AliITSOutStream& void AliITSOutStream::ClearStream() { // clear stream - memset(fOutStream,0,sizeof(ULong_t)*fStreamLen); + memset(fOutStream,0,sizeof(UInt_t)*fStreamLen); } //_____________________________________________________________________________ -Bool_t AliITSOutStream::CheckCount(ULong_t count) +Bool_t AliITSOutStream::CheckCount(UInt_t count) { //check boundaries if (count < fStreamLen) return kTRUE; @@ -166,27 +143,3 @@ Bool_t AliITSOutStream::CheckCount(ULong_t count) return kFALSE; } } - -//____________________________________________________________________________ -void AliITSOutStream::Streamer(TBuffer &R__b){ - - // Stream an object of class AliITSOutStream. - - static unsigned long *array; - static Bool_t make=kTRUE; - - if (R__b.IsReading()) { - R__b >> fStreamLen; - //printf("Streamer: fStreamLen %d\n",fStreamLen); - if (make) array=new unsigned long[fStreamLen]; - make=kFALSE; - memset(array,0,sizeof(ULong_t)*fStreamLen); - fOutStream=array; - R__b.ReadFastArray(fOutStream,fStreamLen); - - } else { - R__b << fStreamLen; - R__b.WriteFastArray(fOutStream,fStreamLen); - } -} - diff --git a/ITS/AliITSRawData.h b/ITS/AliITSRawData.h index c07541cbe20..f37da07e337 100644 --- a/ITS/AliITSRawData.h +++ b/ITS/AliITSRawData.h @@ -30,14 +30,14 @@ class AliITSInStream: public TObject{ public: AliITSInStream(); - AliITSInStream(ULong_t length); + AliITSInStream(UInt_t length); virtual ~AliITSInStream(); AliITSInStream(const AliITSInStream &source); // copy constructor AliITSInStream& operator=(const AliITSInStream &source); // ass. operator void ClearStream(); - Bool_t CheckCount(ULong_t count); - ULong_t StreamLength() { + Bool_t CheckCount(UInt_t count); + UInt_t StreamLength() { // stream length return fStreamLen; } @@ -50,8 +50,8 @@ protected: // input stream of unsigned chars - ULong_t fStreamLen; // Length of the array - UChar_t *fInStream; // Pointer to an array of input unsigned chararacters + UInt_t fStreamLen; // Length of the array + UChar_t *fInStream; //[fStreamLen] Pointer to an array of input unsigned chararacters @@ -64,18 +64,18 @@ class AliITSOutStream: public TObject{ public: AliITSOutStream(); - AliITSOutStream(ULong_t length); + AliITSOutStream(UInt_t length); virtual ~AliITSOutStream(); AliITSOutStream(const AliITSOutStream &source); // copy constructor AliITSOutStream& operator=(const AliITSOutStream &source); // assignment operator void ClearStream(); - Bool_t CheckCount(ULong_t count); - ULong_t StreamLength() { + Bool_t CheckCount(UInt_t count); + UInt_t StreamLength() { // stream length return fStreamLen; } - ULong_t *Stream() { + UInt_t *Stream() { // stream return fOutStream; } @@ -84,8 +84,8 @@ protected: // output stream of unsigned chars - ULong_t fStreamLen; // Length of the array - ULong_t *fOutStream; // Pointer to an array of unsigned long + UInt_t fStreamLen; // Length of the array + UInt_t *fOutStream; //[fStreamLen] Pointer to an array of unsigned long diff --git a/ITS/AliITSgeom.cxx b/ITS/AliITSgeom.cxx index baedde5de6d..7b873ae34e5 100644 --- a/ITS/AliITSgeom.cxx +++ b/ITS/AliITSgeom.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.12 2001/01/17 15:41:27 barbera +Some corrections suggested by Peter Hristov added + Revision 1.11 2000/10/02 16:32:35 barbera Forward declaration added @@ -640,93 +643,7 @@ ifstream & AliITSgeom::ReadGeom(ifstream &R__b){ } // end for i return R__b; } -//___________________________________________________________________________ -void AliITSgeom::Streamer(TBuffer &R__b){ -//////////////////////////////////////////////////////////////////////// -// The default Streamer function "written by ROOT" doesn't write out -// the arrays referenced by pointers. Therefore, a specific Streamer function -// has to be written. This function should not be modified but instead added -// on to so that older versions can still be read. The proper handling of -// the version dependent streamer function hasn't been written do to the lack -// of finding an example at the time of writing. -//////////////////////////////////////////////////////////////////////// - // Stream an object of class AliITSgeom. - Int_t i,j,k,l; - UInt_t R__s=0, R__c=0; - - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); - if (R__v==1) { - if(fNlad!=0) delete[] fNlad; - if(fNdet!=0) delete[] fNdet; - if(fGm!=0){ - for(i=0;i> fNlayers; - fNlad = new Int_t[fNlayers]; - fNdet = new Int_t[fNlayers]; - for(i=0;i> fNlad[i]; - for(i=0;i> fNdet[i]; - fNmodules = GetModuleIndex(fNlayers,fNlad[fNlayers-1], - fNdet[fNlayers-1]); - fGm = new AliITSgeomMatrix*[fNmodules]; - inmax = 0; - for(i=0;i> idt; - R__b >> t[0]; - R__b >> t[1]; - R__b >> t[2]; - R__b >> r[0]; - R__b >> r[1]; - R__b >> r[2]; - for(k=0;k<9;k++) R__b >> m[k]; - for(k=0;k<3;k++)for(l=0;l<3;l++) s[k][l] = m[3*k+l]; - GetModuleId(inmax,id[0],id[1],id[2]); - fGm[inmax++] = new AliITSgeomMatrix(idt,id,s,t); - } // end for j - } // end for i - R__b >> fShape; - } else if(R__v==2){ - if(fNlad!=0) delete[] fNlad; - if(fNdet!=0) delete[] fNdet; - if(fGm!=0){for(i=0;i> fTrans; - R__b >> fNlayers; - R__b.ReadArray(fNlad); - R__b.ReadArray(fNdet); - R__b >> fShape; - R__b >> fNmodules; - fGm = new AliITSgeomMatrix*[fNmodules]; - for(i=0;iStreamer(R__b); - } // end for i - //R__b.ReadArray(fGm); - R__b.CheckByteCount(R__s, R__c, AliITSgeom::IsA()); - } // end if R__v==? - } else { // Writing. - R__c = R__b.WriteVersion(AliITSgeom::IsA(), kTRUE); - TObject::Streamer(R__b); - R__b << fTrans; - R__b << fNlayers; - R__b.WriteArray(fNlad, fNlayers); - R__b.WriteArray(fNdet, fNlayers); - R__b << fShape; - R__b << fNmodules; - //R__b.WriteArray(fGm, __COUNTER__); - for(i=0;iStreamer(R__b); - } // end for i - R__b.SetByteCount(R__c, kTRUE); - } // end if reading/writing. -} + //______________________________________________________________________ // The following routines modify the transformation of "this" // geometry transformations in a number of different ways. diff --git a/ITS/AliITSgeom.h b/ITS/AliITSgeom.h index 6bb2495d05b..70f1bffb12e 100644 --- a/ITS/AliITSgeom.h +++ b/ITS/AliITSgeom.h @@ -646,8 +646,8 @@ class AliITSgeom : public TObject { Int_t fTrans; //Flag to keep track of which transformation Int_t fNlayers; //The number of layers. Int_t fNmodules;//The total number of modules - Int_t *fNlad; //!Array of the number of ladders/layer(layer) - Int_t *fNdet; //!Array of the number of detectors/ladder(layer) + Int_t *fNlad; //[fNlayers] Array of the number of ladders/layer(layer) + Int_t *fNdet; //[fNlayers] Array of the number of detectors/ladder(layer) AliITSgeomMatrix **fGm; //[fNmodules] Structure of trans. and rotation. TObjArray *fShape; //Array of shapes and detector information. diff --git a/ITS/AliITSgeomMatrix.cxx b/ITS/AliITSgeomMatrix.cxx index 15c0855faf3..d980e015fae 100644 --- a/ITS/AliITSgeomMatrix.cxx +++ b/ITS/AliITSgeomMatrix.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.5 2000/10/02 16:32:35 barbera +Forward declaration added + Revision 1.1.2.6 2000/10/02 15:52:05 barbera Forward declaration added @@ -651,31 +654,3 @@ istream &operator>>(istream &is,AliITSgeomMatrix &r){ r.read(&is); return is; } -//---------------------------------------------------------------------- -void AliITSgeomMatrix::Streamer(TBuffer &R__b){ -//////////////////////////////////////////////////////////////////////// -// Stream an object of class AliITSgeomMatrix. -//////////////////////////////////////////////////////////////////////// - - UInt_t R__s, R__c; - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(&R__s, &R__c); - if (R__v==1) { - R__b >> fDetectorIndex; - R__b.ReadStaticArray(fid); - R__b.ReadStaticArray(frot); - R__b.ReadStaticArray(ftran); - R__b.ReadStaticArray((double*)fm); - R__b.CheckByteCount(R__s, R__c, AliITSgeomMatrix::IsA()); - } // end if R__v - } else { // R__b.IsWriting() - R__c = R__b.WriteVersion(AliITSgeomMatrix::IsA(), kTRUE); - R__b << fDetectorIndex; - R__b.WriteArray(fid, 3); - R__b.WriteArray(frot, 3); - R__b.WriteArray(ftran, 3); - R__b.WriteArray((double*)fm, 9); - R__b.SetByteCount(R__c, kTRUE); - } // end if R__b.IsReading()||IsWriting() -} -//______________________________________________________________________ diff --git a/ITS/AliITSgeomSPD300.cxx b/ITS/AliITSgeomSPD300.cxx index 34e902f6b40..37a49eb2e50 100644 --- a/ITS/AliITSgeomSPD300.cxx +++ b/ITS/AliITSgeomSPD300.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.7 2000/10/02 16:32:35 barbera +Forward declaration added + Revision 1.1.2.8 2000/10/02 15:52:05 barbera Forward declaration added @@ -171,50 +174,3 @@ void AliITSgeomSPD300::ReSetBins(Float_t dy,Int_t nx,Float_t *bx, fShapeSPD = new TBRIK("ActiveSPD","Active volume of SPD","SPD SI DET", fDx,fDy,fDz); } -/* -//---------------------------------------------------------------------- -void AliITSgeomSPD300::Streamer(TBuffer &R__b){ - // Streamer function for the class AliItSgeomSPD300. - Int_t i; - UInt_t R__s, R__c; - - if(R__b.IsReading()){ - Version_t R__v = R__b.ReadVersion(&R__s, &R__c); - if(R__v==1){ - TObject::Streamer(R__b); - fShapeSPD->Streamer(R__b); - R__b >> fDx; - R__b >> fDy; - R__b >> fDz; - }else if (R__v==2){ - AliITSgeomSPD::Streamer(R__b); - fShapeSPD->Streamer(R__b); - R__b >> fDx; - R__b >> fDy; - R__b >> fDz; - R__b >> fNbinx; - if(fBinSizeX!=0) delete[] fBinSizeX; - fBinSizeX = new Float_t[fNbinx]; - for(i=0;i> fBinSizeX[i]; - R__b >> fNbinz; - if(fBinSizeZ!=0) delete[] fBinSizeZ; - fBinSizeZ = new Float_t[fNbinz]; - for(i=0;i> fBinSizeZ[i]; - R__b.CheckByteCount(R__s, R__c, AliITSgeomSPD300::IsA()); - } // end if R__v==1 - } else { // IsWriting. - R__c = R__b.WriteVersion(AliITSgeomSPD300::IsA(), kTRUE); - AliITSgeomSPD::Streamer(R__b); - fShapeSPD->Streamer(R__b); - R__b << fDx; - R__b << fDy; - R__b << fDz; - R__b << fNbinx; - for(i=0;iStreamer(R__b); - R__b >> fDx; - R__b >> fDy; - R__b >> fDz; - }else if (R__v==2){ - AliITSgeomSPD::Streamer(R__b); - fShapeSPD->Streamer(R__b); - R__b >> fDx; - R__b >> fDy; - R__b >> fDz; - R__b >> fNbinx; - if(fBinSizeX!=0) delete[] fBinSizeX; - fBinSizeX = new Float_t[fNbinx]; - for(i=0;i> fBinSizeX[i]; - R__b >> fNbinz; - if(fBinSizeZ!=0) delete[] fBinSizeZ; - fBinSizeZ = new Float_t[fNbinz]; - for(i=0;i> fBinSizeZ[i]; - R__b.CheckByteCount(R__s, R__c, AliITSgeomSPD425::IsA()); - } // end if R__v==1 - } else { // IsWriting. - R__c = R__b.WriteVersion(AliITSgeomSPD425::IsA(), kTRUE); - AliITSgeomSPD::Streamer(R__b); - fShapeSPD->Streamer(R__b); - R__b << fDx; - R__b << fDy; - R__b << fDz; - R__b << fNbinx; - for(i=0;iParticle(GetTrack()); } -/* -//___________________________________________________________________________ -void AliITShit::Streamer(TBuffer &R__b){ -//////////////////////////////////////////////////////////////////////// -// The streamer function for this AliITShit class. This has been set -// up so that future changes to this class can be easly incorporated. -//////////////////////////////////////////////////////////////////////// - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); - if (R__v==1) { - AliHit::Streamer(R__b); - R__b >> fStatus; - R__b >> fLayer; - R__b >> fLadder; - R__b >> fDet; - R__b >> fPx; - R__b >> fPy; - R__b >> fPz; - R__b >> fDestep; - R__b >> fTof; - }else{ // for futrue changes to this class. - } // end if R__v==1 - } else { - R__b.WriteVersion(AliITShit::IsA()); - AliHit::Streamer(R__b); - R__b << fStatus; - R__b << fLayer; - R__b << fLadder; - R__b << fDet; - R__b << fPx; - R__b << fPy; - R__b << fPz; - R__b << fDestep; - R__b << fTof; - } // end if R__b.IsReading() -} -*/ diff --git a/ITS/AliITSstatistics.cxx b/ITS/AliITSstatistics.cxx index ededf73cecc..954e4ac031c 100644 --- a/ITS/AliITSstatistics.cxx +++ b/ITS/AliITSstatistics.cxx @@ -188,25 +188,3 @@ Double_t AliITSstatistics::GetErrorRMS(){ s = (m4-(n-3.)*m2*m2/(n-1.))/n; return TMath::Sqrt(s); } -/* -//_______________________________________________________________________ -void AliITSstatistics::Streamer(TBuffer &R__b){ - // Stream an object of class AliITSstatistics. - - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); if (R__v) { } - TObject::Streamer(R__b); - R__b >> fN; - R__b >> fOrder; - R__b.ReadArray(fX); - R__b.ReadArray(fW); - } else { - R__b.WriteVersion(AliITSstatistics::IsA()); - TObject::Streamer(R__b); - R__b << fN; - R__b << fOrder; - R__b.WriteArray(fX,fOrder); - R__b.WriteArray(fW,fOrder); - } -} -*/ diff --git a/ITS/AliITSstatistics2.cxx b/ITS/AliITSstatistics2.cxx index 58f8449dc11..00391fa52c6 100644 --- a/ITS/AliITSstatistics2.cxx +++ b/ITS/AliITSstatistics2.cxx @@ -342,29 +342,3 @@ Double_t AliITSstatistics2::FitToLine(Double_t &a,Double_t &b){ h /= (Double_t)fN - 2.0; return h; } -/* -//_______________________________________________________________________ -void AliITSstatistics2::Streamer(TBuffer &R__b){ - // Stream an object of class AliITSstatistics2. - - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); if (R__v) { } - TObject::Streamer(R__b); - R__b >> fN; - R__b >> fOrder; - R__b.ReadArray(fY); - R__b.ReadArray(fX); - R__b.ReadArray(fYx); - R__b.ReadArray(fW); - } else { - R__b.WriteVersion(AliITSstatistics2::IsA()); - TObject::Streamer(R__b); - R__b << fN; - R__b << fOrder; - R__b.WriteArray(fY,fOrder); - R__b.WriteArray(fX,fOrder); - R__b.WriteArray(fYx,fOrder); - R__b.WriteArray(fW,fOrder); - } -} -*/ diff --git a/ITS/AliITSv1.cxx b/ITS/AliITSv1.cxx index cc012c2c817..9ecf1d64629 100644 --- a/ITS/AliITSv1.cxx +++ b/ITS/AliITSv1.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.22 2000/10/05 20:49:59 nilsen +Now using root generated streamers. + Revision 1.14.2.9 2000/10/05 07:49:27 nilsen Removed hit generation from step manager. @@ -907,21 +910,3 @@ void AliITSv1::StepManager(){ new(lhits[fNhits++]) AliITShit(fIshunt,gAlice->CurrentTrack(),vol,hits); */ } -/* -//____________________________________________________________________________ -void AliITSv1::Streamer(TBuffer &R__b){ -//////////////////////////////////////////////////////////////////////// -// A dummy Streamer function for this class AliITSv1. By default it -// only streams the AliITS class as it is required. Since this class -// dosen't contain any "real" data to be saved, it doesn't. -//////////////////////////////////////////////////////////////////////// - - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); if (R__v) { } - AliITS::Streamer(R__b); - } else { - R__b.WriteVersion(AliITSv1::IsA()); - AliITS::Streamer(R__b); - } // end if R__b.IsReading() -} -*/ \ No newline at end of file diff --git a/ITS/AliITSv3.cxx b/ITS/AliITSv3.cxx index 3f0b008b2ed..0900313a563 100644 --- a/ITS/AliITSv3.cxx +++ b/ITS/AliITSv3.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.21 2000/11/30 11:13:11 barbera + Added changes suggested by Federico Carminati on nov, 30, 2000 + Revision 1.20 2000/10/07 17:29:51 nilsen Blank Line added at end of file to remove a warning for hp compilers (Give me a Break!). @@ -5071,25 +5074,3 @@ void AliITSv3::StepManager(){ } // end if printit[layer][ladder][detector] #endif } -/* -//____________________________________________________________________________ -void AliITSv3::Streamer(TBuffer &R__b){ -//////////////////////////////////////////////////////////////////////// -// A dummy Streamer function for this class AliITSv3. By default it -// only streams the AliITS class as it is required. Since this class -// dosen't contain any "real" data to be saved, it doesn't. -//////////////////////////////////////////////////////////////////////// - - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); - if (R__v==1) { - AliITS::Streamer(R__b); - }else{ - AliITS::Streamer(R__b); - } // end if - } else { - R__b.WriteVersion(AliITSv3::IsA()); - AliITS::Streamer(R__b); - } // end if R__b.IsReading() -} -*/ diff --git a/ITS/AliITSv5.cxx b/ITS/AliITSv5.cxx index bdbba9b16f1..8ba57de6cdc 100644 --- a/ITS/AliITSv5.cxx +++ b/ITS/AliITSv5.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.26 2000/11/30 11:13:11 barbera + Added changes suggested by Federico Carminati on nov, 30, 2000 + Revision 1.25 2000/10/05 20:50:00 nilsen Now using root generated streamers. @@ -756,25 +759,3 @@ void AliITSv5::StepManager(){ #endif return; } -/* -//____________________________________________________________________________ -void AliITSv5::Streamer(TBuffer &R__b){ -//////////////////////////////////////////////////////////////////////// -// A dummy Streamer function for this class AliITSv5. By default it -// only streams the AliITS class as it is required. Since this class -// dosen't contain any "real" data to be saved, it doesn't. -//////////////////////////////////////////////////////////////////////// - - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); - if (R__v==1) { - AliITS::Streamer(R__b); - }else{ - AliITS::Streamer(R__b); - } // end if R__v==1 - } else { - R__b.WriteVersion(AliITSv5::IsA()); - AliITS::Streamer(R__b); - } // end if R__b.IsReading() -} -*/ diff --git a/ITS/AliITSv5asymm.cxx b/ITS/AliITSv5asymm.cxx index 6ffa43e2412..e434399b918 100644 --- a/ITS/AliITSv5asymm.cxx +++ b/ITS/AliITSv5asymm.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.2 2000/11/30 11:13:11 barbera + Added changes suggested by Federico Carminati on nov, 30, 2000 + Revision 1.1 2000/10/07 15:46:38 barbera Version 5 of the geometry with asymmetric services @@ -759,25 +762,3 @@ void AliITSv5asymm::StepManager(){ #endif return; } -/* -//____________________________________________________________________________ -void AliITSv5asymm::Streamer(TBuffer &R__b){ -//////////////////////////////////////////////////////////////////////// -// A dummy Streamer function for this class AliITSv5asymm. By default it -// only streams the AliITS class as it is required. Since this class -// dosen't contain any "real" data to be saved, it doesn't. -//////////////////////////////////////////////////////////////////////// - - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); - if (R__v==1) { - AliITS::Streamer(R__b); - }else{ - AliITS::Streamer(R__b); - } // end if R__v==1 - } else { - R__b.WriteVersion(AliITSv5asymm::IsA()); - AliITS::Streamer(R__b); - } // end if R__b.IsReading() -} -*/ diff --git a/ITS/AliITSv5symm.cxx b/ITS/AliITSv5symm.cxx index f91b84dfe79..d8dda987fe3 100644 --- a/ITS/AliITSv5symm.cxx +++ b/ITS/AliITSv5symm.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.2 2000/11/30 11:13:11 barbera + Added changes suggested by Federico Carminati on nov, 30, 2000 + Revision 1.1 2000/10/07 15:46:29 barbera Version 5 of the geometry with symmetric services @@ -759,25 +762,3 @@ void AliITSv5symm::StepManager(){ #endif return; } -/* -//____________________________________________________________________________ -void AliITSv5symm::Streamer(TBuffer &R__b){ -//////////////////////////////////////////////////////////////////////// -// A dummy Streamer function for this class AliITSv5symm. By default it -// only streams the AliITS class as it is required. Since this class -// dosen't contain any "real" data to be saved, it doesn't. -//////////////////////////////////////////////////////////////////////// - - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); - if (R__v==1) { - AliITS::Streamer(R__b); - }else{ - AliITS::Streamer(R__b); - } // end if R__v==1 - } else { - R__b.WriteVersion(AliITSv5symm::IsA()); - AliITS::Streamer(R__b); - } // end if R__b.IsReading() -} -*/ diff --git a/ITS/AliITSvPPRasymm.cxx b/ITS/AliITSvPPRasymm.cxx index 3b1e7cbefdd..2b0f05a732e 100644 --- a/ITS/AliITSvPPRasymm.cxx +++ b/ITS/AliITSvPPRasymm.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.4 2001/01/23 20:08:03 barbera +Option B for pixels implemented and set as default + Revision 1.3 2001/01/17 08:08:20 barbera Some media parameters modified @@ -3920,21 +3923,4 @@ void AliITSvPPRasymm::StepManager(){ return; } -/* -//____________________________________________________________________________ -void AliITSvPPRasymm::Streamer(TBuffer &R__b){ -//////////////////////////////////////////////////////////////////////// -// A dummy Streamer function for this class AliITSvPPRasymm. By default it -// only streams the AliITS class as it is required. Since this class -// dosen't contain any "real" data to be saved, it doesn't. -//////////////////////////////////////////////////////////////////////// - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); if (R__v) { } - AliITS::Streamer(R__b); - } else { - R__b.WriteVersion(AliITSvPPRasymm::IsA()); - AliITS::Streamer(R__b); - } // end if R__b.IsReading() -} -*/ diff --git a/ITS/AliITSvPPRcoarseasymm.cxx b/ITS/AliITSvPPRcoarseasymm.cxx index 7a40968f7d6..45a22a4faf2 100644 --- a/ITS/AliITSvPPRcoarseasymm.cxx +++ b/ITS/AliITSvPPRcoarseasymm.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.15 2001/01/17 07:41:29 barbera +Some media parameters modified + Revision 1.14 2001/01/15 13:13:53 barbera Some comments added @@ -1095,21 +1098,4 @@ void AliITSvPPRcoarseasymm::StepManager(){ // */ } -/* -//____________________________________________________________________________ -void AliITSvPPRcoarseasymm::Streamer(TBuffer &R__b){ -//////////////////////////////////////////////////////////////////////// -// A dummy Streamer function for this class AliITSvPPRcoarseasymm. By default it -// only streams the AliITS class as it is required. Since this class -// dosen't contain any "real" data to be saved, it doesn't. -//////////////////////////////////////////////////////////////////////// - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); if (R__v) { } - AliITS::Streamer(R__b); - } else { - R__b.WriteVersion(AliITSvPPRcoarseasymm::IsA()); - AliITS::Streamer(R__b); - } // end if R__b.IsReading() -} -*/ diff --git a/ITS/AliITSvPPRcoarsesymm.cxx b/ITS/AliITSvPPRcoarsesymm.cxx index ca87dd3a82d..3a267a8ffa7 100644 --- a/ITS/AliITSvPPRcoarsesymm.cxx +++ b/ITS/AliITSvPPRcoarsesymm.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.14 2001/01/17 07:41:29 barbera +Some media parameters modified + Revision 1.13 2001/01/15 13:13:52 barbera Some comments added @@ -1033,21 +1036,3 @@ void AliITSvPPRcoarsesymm::StepManager(){ // */ } -/* -//____________________________________________________________________________ -void AliITSvPPRcoarsesymm::Streamer(TBuffer &R__b){ -//////////////////////////////////////////////////////////////////////// -// A dummy Streamer function for this class AliITSvPPRcoarsesymm. By default it -// only streams the AliITS class as it is required. Since this class -// dosen't contain any "real" data to be saved, it doesn't. -//////////////////////////////////////////////////////////////////////// - - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); if (R__v) { } - AliITS::Streamer(R__b); - } else { - R__b.WriteVersion(AliITSvPPRcoarsesymm::IsA()); - AliITS::Streamer(R__b); - } // end if R__b.IsReading() -} -*/ diff --git a/ITS/AliITSvPPRsymm.cxx b/ITS/AliITSvPPRsymm.cxx index cb8853804cd..6af1ab60309 100644 --- a/ITS/AliITSvPPRsymm.cxx +++ b/ITS/AliITSvPPRsymm.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.2 2001/01/26 20:01:19 hristov +Major upgrade of AliRoot code + Revision 1.1.2.1 2001/01/15 13:38:32 barbera New ITS detailed geometry to be used for the PPR @@ -2737,21 +2740,3 @@ void AliITSvPPRsymm::StepManager(){ // */ } -/* -//____________________________________________________________________________ -void AliITSvPPRsymm::Streamer(TBuffer &R__b){ -//////////////////////////////////////////////////////////////////////// -// A dummy Streamer function for this class AliITSvPPRsymm. By default it -// only streams the AliITS class as it is required. Since this class -// dosen't contain any "real" data to be saved, it doesn't. -//////////////////////////////////////////////////////////////////////// - - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); if (R__v) { } - AliITS::Streamer(R__b); - } else { - R__b.WriteVersion(AliITSvPPRsymm::IsA()); - AliITS::Streamer(R__b); - } // end if R__b.IsReading() -} -*/ diff --git a/ITS/AliITSvtest.cxx b/ITS/AliITSvtest.cxx index 472d5b091be..96dda15aad2 100644 --- a/ITS/AliITSvtest.cxx +++ b/ITS/AliITSvtest.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.4 2001/01/18 06:25:09 barbera +ITS geometry using test Euclid files + Revision 1.1.2.8 2000/10/05 20:28:18 nilsen Now using root generated streamer function. @@ -335,18 +338,4 @@ void AliITSvtest::StepManager(){ new(lhits[fNhits++]) AliITShit(fIshunt,gAlice->CurrentTrack(),vol,hits); return; } -/* -//____________________________________________________________________________ -void AliITSvtest::Streamer(TBuffer &R__b) -{ - // Stream an object of class AliITSvtest. - if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); if (R__v) { } - AliITS::Streamer(R__b); - } else { - R__b.WriteVersion(AliITSvtest::IsA()); - AliITS::Streamer(R__b); - } -} -*/ diff --git a/ITS/ITSLinkDef.h b/ITS/ITSLinkDef.h index 0488437d125..f107e9e4e47 100644 --- a/ITS/ITSLinkDef.h +++ b/ITS/ITSLinkDef.h @@ -13,7 +13,7 @@ // Standard ITS classes -#pragma link C++ class AliITS-; +#pragma link C++ class AliITS+; #pragma link C++ class AliITSv1+; #pragma link C++ class AliITSv3+; #pragma link C++ class AliITSv5+; @@ -29,8 +29,8 @@ #pragma link C++ class AliITSdigitSDD+; #pragma link C++ class AliITSdigitSSD+; #pragma link C++ class AliITSTransientDigit+; -#pragma link C++ class AliITSgeom-; -#pragma link C++ class AliITSgeomMatrix-; +#pragma link C++ class AliITSgeom+; +#pragma link C++ class AliITSgeomMatrix+; #pragma link C++ class AliITSgeomSPD+; #pragma link C++ class AliITSgeomSDD+; #pragma link C++ class AliITSgeomSSD+; @@ -74,8 +74,8 @@ // SDD simulation #pragma link C++ class AliITSRawData+; // These streamers must be formatted according to the raw data fromat -#pragma link C++ class AliITSInStream-; -#pragma link C++ class AliITSOutStream-; +#pragma link C++ class AliITSInStream+; +#pragma link C++ class AliITSOutStream+; // #pragma link C++ class AliITSHNode+; #pragma link C++ class AliITSHTable+; diff --git a/MUON/AliMUONSegmentationV01.cxx b/MUON/AliMUONSegmentationV01.cxx index 06a2d7e4a00..13ba7023db0 100644 --- a/MUON/AliMUONSegmentationV01.cxx +++ b/MUON/AliMUONSegmentationV01.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.15 2001/01/26 21:25:48 morsch +Empty default constructors and. + Revision 1.14 2000/12/21 22:12:41 morsch Clean-up of coding rule violations, @@ -104,7 +107,8 @@ AliMUONSegmentationV01::AliMUONSegmentationV01() printf("\n Calling Default Constructor"); fRSec = 0; fNDiv = 0; - fDpxD = 0; + fDpxD = 0; + fCorrA = 0; } AliMUONSegmentationV01::AliMUONSegmentationV01(Int_t nsec) diff --git a/TPC/AliTPCPRF2D.cxx b/TPC/AliTPCPRF2D.cxx index ae8b8b560ce..14b6169c6f7 100644 --- a/TPC/AliTPCPRF2D.cxx +++ b/TPC/AliTPCPRF2D.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.6 2000/09/07 11:23:27 kowal2 +Improved algoritms, coding convensions applied. + Revision 1.5 2000/06/30 12:07:50 kowal2 Updated from the TPC-PreRelease branch @@ -679,99 +682,25 @@ void AliTPCPRF2D::Streamer(TBuffer &R__b) // Stream an object of class AliTPCPRF2D if (R__b.IsReading()) { - Version_t R__v = R__b.ReadVersion(); if (R__v) { } - TObject::Streamer(R__b); - //read chewron parameters - R__b >> fHeightFull; - R__b >> fHeightS; - R__b >> fShiftY; - R__b >> fWidth; - R__b >> fK; - R__b >> fSigmaX; - R__b >> fSigmaY; - R__b >> fMeanX; - R__b >> fMeanY; - //read charge parameters - R__b.ReadFastArray(fType,5); - R__b >> fOrigSigmaX; - R__b >> fOrigSigmaY; - R__b >> fKNorm; - R__b >> fK3X; - R__b >> fK3Y; - R__b >> fPadDistance; - R__b >> fInteg; - //read angle parameters - R__b >> fChargeAngle; - R__b >> fPadAngle; + UInt_t R__s, R__c; + Version_t R__v = R__b.ReadVersion(&R__s, &R__c); + AliTPCPRF2D::Class()->ReadBuffer(R__b, this, R__v, R__s, R__c); //read functions - if (fGRF!=0) { - fGRF->Delete(); - fGRF=0; - } - if (strncmp(fType,"User",3)==0){ - fGRF= new TF2; - R__b>>fGRF; - } - if (strncmp(fType,"Gauss",3)==0) - fGRF = new TF2("fun",funGauss2D,-5.,5.,-5.,5.,4); - if (strncmp(fType,"Cosh",3)==0) - fGRF = new TF2("fun",funCosh2D,-5.,5.,-5.,5.,4); - if (strncmp(fType,"Gati",3)==0) - fGRF = new TF2("fun",funGati2D,-5.,5.,-5.,5.,5); - //read interpolation parameters - R__b >>fY1; - R__b >>fY2; - R__b >>fNYdiv; - R__b >>fDStep; - R__b >>fNPRF; - R__b >>fNChargeArray; - if (fChargeArray!=0) delete [] fChargeArray; - if (fNChargeArray>0) { - fChargeArray = new Float_t[fNChargeArray]; - R__b.ReadFastArray(fChargeArray,fNChargeArray); + if (strncmp(fType,"User",3)!=0){ + delete fGRF; + if (strncmp(fType,"Gauss",3)==0) + fGRF = new TF2("fun",funGauss2D,-5.,5.,-5.,5.,4); + if (strncmp(fType,"Cosh",3)==0) + fGRF = new TF2("fun",funCosh2D,-5.,5.,-5.,5.,4); + if (strncmp(fType,"Gati",3)==0) + fGRF = new TF2("fun",funGati2D,-5.,5.,-5.,5.,5); + if (fGRF!=0) fGRF->SetParameters(funParam); } - // - R__b.ReadFastArray(funParam,5); - if (fGRF!=0) fGRF->SetParameters(funParam); //calculate conversion coefitient to convert position to virtual wire fDYtoWire=Float_t(fNYdiv-1)/(fY2-fY1); fDStepM1=1/fDStep; } else { - R__b.WriteVersion(AliTPCPRF2D::IsA()); - TObject::Streamer(R__b); - //write chewron parameters - R__b << fHeightFull; - R__b << fHeightS; - R__b << fShiftY; - R__b << fWidth; - R__b << fK; - R__b << fSigmaX; - R__b << fSigmaY; - R__b << fMeanX; - R__b << fMeanY; - //write charge parameters - R__b.WriteFastArray(fType,5); - R__b << fOrigSigmaX; - R__b << fOrigSigmaY; - R__b << fKNorm; - R__b << fK3X; - R__b << fK3Y; - R__b << fPadDistance; - R__b << fInteg; - //angle parameters - R__b << fChargeAngle; - R__b << fPadAngle; - if (strncmp(fType,"User",3)==0) R__b <0) - R__b.WriteFastArray(fChargeArray,fNPRF*fNYdiv); - R__b.WriteFastArray(funParam,5); + AliTPCPRF2D::Class()->WriteBuffer(R__b,this); } } diff --git a/TPC/AliTPCPRF2D.h b/TPC/AliTPCPRF2D.h index 2eca8b5a395..d1f7c556199 100644 --- a/TPC/AliTPCPRF2D.h +++ b/TPC/AliTPCPRF2D.h @@ -72,12 +72,12 @@ protected: void Update1(); virtual void UpdateSigma(); //recalculate sigma of PRF Float_t GetPRFActiv(Float_t xin); //return PRF in point xin and actual y - Float_t * fcharge; //field with PRF + Float_t * fcharge; //!field with PRF Float_t fY1; //position of first "virtual" vire Float_t fY2; //position of last virtual vire Int_t fNYdiv; //number of wires - Float_t * fChargeArray; //pointer to array of arrays Int_t fNChargeArray; //number of charge interpolation points + Float_t * fChargeArray; //[fNChargeArray]pointer to array of arrays void DrawComment(TPaveText * comment); //draw comments to picture //chevron parameters diff --git a/TPC/AliTPCprf2d.root b/TPC/AliTPCprf2d.root index 1cef9bd9ea7..a75e5b2a399 100644 Binary files a/TPC/AliTPCprf2d.root and b/TPC/AliTPCprf2d.root differ diff --git a/macros/Config.C b/macros/Config.C index 0bb7dcb69d5..55d99db3c2a 100644 --- a/macros/Config.C +++ b/macros/Config.C @@ -265,297 +265,13 @@ void Config() if(iFMD) { //=================== FMD parameters ============================ - AliFMD *FMD = new AliFMDv1("FMD","normal FMD"); + AliFMD *FMD = new AliFMDv0("FMD","normal FMD"); } if(iMUON) { //=================== MUON parameters =========================== - AliMUON *MUON = new AliMUONv1("MUON","normal MUON"); - MUON->SetIshunt(0); - MUON->SetMaxStepGas(0.1); - MUON->SetMaxStepAlu(0.1); - // - // Version 0 - // - // First define the number of planes that are segmented (1 or 2) by a call - // to SetNsec. - // Then chose for each chamber (chamber plane) the segmentation - // and response model. - // They should be equal for the two chambers of each station. In a future - // version this will be enforced. - // - // - Int_t chamber; - Int_t station; - // Default response - AliMUONResponseV0* response0 = new AliMUONResponseV0; - response0->SetSqrtKx3(0.7131); - response0->SetKx2(1.0107); - response0->SetKx4(0.4036); - response0->SetSqrtKy3(0.7642); - response0->SetKy2(0.9706); - response0->SetKy4(0.3831); - response0->SetPitch(0.25); - response0->SetSigmaIntegration(10.); - response0->SetChargeSlope(50); - response0->SetChargeSpread(0.18, 0.18); - response0->SetMaxAdc(4096); - response0->SetZeroSuppression(6); - //-------------------------------------------------------- - // Configuration for Chamber TC1/2 (Station 1) ---------- - //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Float_t rseg1[4]={17.5, 55.2, 71.3, 95.5}; - Int_t nseg1[4]={4, 4, 2, 1}; - // - chamber=1; - //^^^^^^^^^ - MUON->SetNsec(chamber-1,2); - // - AliMUONSegmentationV01 *seg11=new AliMUONSegmentationV01; - - seg11->SetSegRadii(rseg1); - seg11->SetPadSize(3, 0.5); - seg11->SetDAnod(3.0/3./4); - seg11->SetPadDivision(nseg1); - - MUON->SetSegmentationModel(chamber-1, 1, seg11); - // - AliMUONSegmentationV02 *seg12=new AliMUONSegmentationV02; - seg12->SetSegRadii(rseg1); - seg12->SetPadSize(0.75, 2.0); - seg12->SetDAnod(3.0/3./4); - seg12->SetPadDivision(nseg1); - - MUON->SetSegmentationModel(chamber-1, 2, seg12); - - MUON->SetResponseModel(chamber-1, response0); - - chamber=2; - //^^^^^^^^^ - // - MUON->SetNsec(chamber-1,2); - // - AliMUONSegmentationV01 *seg21=new AliMUONSegmentationV01; - seg21->SetSegRadii(rseg1); - seg21->SetPadSize(3, 0.5); - seg21->SetDAnod(3.0/3./4); - seg21->SetPadDivision(nseg1); - MUON->SetSegmentationModel(chamber-1, 1, seg21); - // - AliMUONSegmentationV02 *seg22=new AliMUONSegmentationV02; - seg22->SetSegRadii(rseg1); - seg22->SetPadSize(0.75, 2.); - seg22->SetDAnod(3.0/3./4); - seg22->SetPadDivision(nseg1); - MUON->SetSegmentationModel(chamber-1, 2, seg22); - - MUON->SetResponseModel(chamber-1, response0); - // - //-------------------------------------------------------- - // Configuration for Chamber TC3/4 ----------------------- - ///^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - // Float_t rseg2[4]={23.5, 87.7, 122.4, 122.5}; - Float_t rseg2[4]={23.5, 47.1, 87.7, 122.5}; - Int_t nseg2[4]={4, 4, 2, 1}; - // - chamber=3; - //^^^^^^^^^ - MUON->SetNsec(chamber-1,2); - // - AliMUONSegmentationV01 *seg31=new AliMUONSegmentationV01; - seg31->SetSegRadii(rseg2); - seg31->SetPadSize(6, 0.5); - seg31->SetDAnod(3.0/3./4); - seg31->SetPadDivision(nseg2); - MUON->SetSegmentationModel(chamber-1, 1, seg31); - // - AliMUONSegmentationV02 *seg32=new AliMUONSegmentationV02; - seg32->SetSegRadii(rseg2); - seg32->SetPadSize(0.75, 4.); - seg32->SetPadDivision(nseg2); - seg32->SetDAnod(3.0/3./4); - - MUON->SetSegmentationModel(chamber-1, 2, seg32); - - MUON->SetResponseModel(chamber-1, response0); - - chamber=4; - //^^^^^^^^^ - // - MUON->SetNsec(chamber-1,2); - // - AliMUONSegmentationV01 *seg41=new AliMUONSegmentationV01; - seg41->SetSegRadii(rseg2); - seg41->SetPadSize(6, 0.5); - seg41->SetDAnod(3.0/3./4); - seg41->SetPadDivision(nseg2); - MUON->SetSegmentationModel(chamber-1, 1, seg41); - // - AliMUONSegmentationV02 *seg42=new AliMUONSegmentationV02; - seg42->SetSegRadii(rseg2); - seg42->SetPadSize(0.75, 4.); - seg42->SetPadDivision(nseg2); - seg42->SetDAnod(3.0/3./4); - - MUON->SetSegmentationModel(chamber-1, 2, seg42); - - MUON->SetResponseModel(chamber-1, response0); - - - //-------------------------------------------------------- - // Configuration for Chamber TC5/6 ----------------------- - //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - seg5 = new AliMUONSegmentationV1; - AliMUONResponseV0* response5 = new AliMUONResponseV0; - // K3 = 0.62 - response5->SetSqrtKx3(0.78740079); - response5->SetKx2(0.95237319); // 0.5 * kPI * (1- 0.5*sqrtky3 ) - response5->SetKx4(0.37480633); // 0.25/TMath::ATan(sqrtkx3) - // K3 = 0.55 - response5->SetSqrtKy3(0.74161985); - response5->SetKy2(0.98832946); - response5->SetKy4(0.39177817); - response5->SetPitch(0.325); - response5->SetSigmaIntegration(10.); - response5->SetChargeSlope(50); - response5->SetChargeSpread(0.4, 0.4); - response5->SetMaxAdc(4096); - response5->SetZeroSuppression(6); - - - chamber=5; - MUON->SetNsec(chamber-1,1); - MUON->SetSegmentationModel(chamber-1, 1, seg5); - MUON->SetResponseModel(chamber-1, response5); - - chamber=6; - MUON->SetNsec(chamber-1,1); - MUON->SetSegmentationModel(chamber-1, 1, seg5); - MUON->SetResponseModel(chamber-1, response5); - // - // Station 3 - station=3; - MUON->SetPadSize(station, 1, 0.975, 0.55); - - //-------------------------------------------------------- - // Configuration for Chamber TC7/8 (Station 4) ---------- - //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - Int_t nseg4[4]={4, 4, 2, 1}; - - chamber=7; - //^^^^^^^^^ - MUON->SetNsec(chamber-1,2); - // - AliMUONSegmentationV04 *seg71=new AliMUONSegmentationV04; - seg71->SetPadSize(10.,0.5); - seg71->SetDAnod(0.25); - seg71->SetPadDivision(nseg4); - MUON->SetSegmentationModel(chamber-1, 1, seg71); - AliMUONSegmentationV05 *seg72=new AliMUONSegmentationV05; - seg72->SetPadSize(1,10); - seg72->SetDAnod(0.25); - seg72->SetPadDivision(nseg4); - MUON->SetSegmentationModel(chamber-1, 2, seg72); - - MUON->SetResponseModel(chamber-1, response0); - - chamber=8; - //^^^^^^^^^ - MUON->SetNsec(chamber-1,2); - AliMUONSegmentationV04 *seg81=new AliMUONSegmentationV04; - seg81->SetPadSize(10., 0.5); - seg81->SetPadDivision(nseg4); - seg81->SetDAnod(0.25); - MUON->SetSegmentationModel(chamber-1, 1, seg81); - - AliMUONSegmentationV05 *seg82=new AliMUONSegmentationV05; - seg82->SetPadSize(1, 10); - seg82->SetPadDivision(nseg4); - seg82->SetDAnod(0.25); - MUON->SetSegmentationModel(chamber-1, 2, seg82); - - MUON->SetResponseModel(chamber-1, response0); - //-------------------------------------------------------- - // Configuration for Chamber TC9/10 (Station 5) --------- - //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - chamber=9; - //^^^^^^^^^ - MUON->SetNsec(chamber-1,2); - // - AliMUONSegmentationV04 *seg91=new AliMUONSegmentationV04; - seg91->SetPadSize(10.,0.5); - seg91->SetDAnod(0.25); - seg91->SetPadDivision(nseg4); - MUON->SetSegmentationModel(chamber-1, 1, seg91); - - AliMUONSegmentationV05 *seg92=new AliMUONSegmentationV05; - seg92->SetPadSize(1,10); - seg92->SetDAnod(0.25); - seg92->SetPadDivision(nseg4); - - MUON->SetSegmentationModel(chamber-1, 2, seg92); - - MUON->SetResponseModel(chamber-1, response0); - - chamber=10; - //^^^^^^^^^ - MUON->SetNsec(chamber-1,2); - AliMUONSegmentationV04 *seg101=new AliMUONSegmentationV04; - seg101->SetPadSize(10., 0.5); - seg101->SetPadDivision(nseg4); - seg101->SetDAnod(0.25); - MUON->SetSegmentationModel(chamber-1, 1, seg101); - - AliMUONSegmentationV05 *seg102=new AliMUONSegmentationV05; - seg102->SetPadSize(1,10); - seg102->SetPadDivision(nseg4); - seg102->SetDAnod(0.25); - MUON->SetSegmentationModel(chamber-1, 2, seg102); - - MUON->SetResponseModel(chamber-1, response0); - - //-------------------------------------------------------- - // Configuration for Trigger staions --------------------- - //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - AliMUONResponseTrigger* responseTrigger0 = new AliMUONResponseTrigger; - - chamber=11; - MUON->SetNsec(chamber-1,2); - AliMUONSegmentationTriggerX *seg111=new AliMUONSegmentationTriggerX; - MUON->SetSegmentationModel(chamber-1, 1, seg111); - AliMUONSegmentationTriggerY *seg112=new AliMUONSegmentationTriggerY; - MUON->SetSegmentationModel(chamber-1, 2, seg112); - - MUON->SetResponseModel(chamber-1, responseTrigger0); - - chamber=12; - MUON->SetNsec(chamber-1,2); - AliMUONSegmentationTriggerX *seg121=new AliMUONSegmentationTriggerX; - MUON->SetSegmentationModel(chamber-1, 1, seg121); - AliMUONSegmentationTriggerY *seg122=new AliMUONSegmentationTriggerY; - MUON->SetSegmentationModel(chamber-1, 2, seg122); - - MUON->SetResponseModel(chamber-1, responseTrigger0); - - chamber=13; - MUON->SetNsec(chamber-1,2); - AliMUONSegmentationTriggerX *seg131=new AliMUONSegmentationTriggerX; - MUON->SetSegmentationModel(chamber-1, 1, seg131); - AliMUONSegmentationTriggerY *seg132=new AliMUONSegmentationTriggerY; - MUON->SetSegmentationModel(chamber-1, 2, seg132); - MUON->SetResponseModel(chamber-1, responseTrigger0); - - chamber=14; - MUON->SetNsec(chamber-1,2); - AliMUONSegmentationTriggerX *seg141=new AliMUONSegmentationTriggerX; - MUON->SetSegmentationModel(chamber-1, 1, seg141); - AliMUONSegmentationTriggerY *seg142=new AliMUONSegmentationTriggerY; - MUON->SetSegmentationModel(chamber-1, 2, seg142); - - MUON->SetResponseModel(chamber-1, responseTrigger0); + AliMUON *MUON = new AliMUONv0("MUON","normal MUON"); } //=================== PHOS parameters ===========================