From d583ec694806e6936bbf4a9c941a8ad1eaebae28 Mon Sep 17 00:00:00 2001 From: Massimo Masera Date: Wed, 18 Dec 2013 09:22:59 +0100 Subject: [PATCH] Update of the ITS version number --- ITS/AliITS.cxx | 3 +- ITS/AliITSInitGeometry.cxx | 183 ++++++++----------------------------- ITS/AliITSInitGeometry.h | 44 ++------- ITS/AliITSv11.cxx | 19 +--- ITS/AliITSv11.h | 11 +-- 5 files changed, 55 insertions(+), 205 deletions(-) diff --git a/ITS/AliITS.cxx b/ITS/AliITS.cxx index 3485d1fd44a..d62eebdcaef 100644 --- a/ITS/AliITS.cxx +++ b/ITS/AliITS.cxx @@ -1398,9 +1398,8 @@ void AliITS::UpdateInternalGeometry(){ // AliDebug(1,"Delete ITSgeom and create a new one reading TGeo"); AliITSVersion_t version = (AliITSVersion_t)IsVersion(); - Int_t minor = 0; AliITSInitGeometry initgeom; - AliITSgeom* geom = initgeom.CreateAliITSgeom(version,minor); + AliITSgeom* geom = initgeom.CreateAliITSgeom(version); SetITSgeom(geom); } //______________________________________________________________________ diff --git a/ITS/AliITSInitGeometry.cxx b/ITS/AliITSInitGeometry.cxx index 6cfc2943f52..3e87df9cd0a 100644 --- a/ITS/AliITSInitGeometry.cxx +++ b/ITS/AliITSInitGeometry.cxx @@ -53,21 +53,10 @@ $Id$ ClassImp(AliITSInitGeometry) -const Bool_t AliITSInitGeometry::fgkOldSPDbarrel = kFALSE; -const Bool_t AliITSInitGeometry::fgkOldSDDbarrel = kFALSE; -const Bool_t AliITSInitGeometry::fgkOldSSDbarrel = kFALSE; -const Bool_t AliITSInitGeometry::fgkOldSDDcone = kFALSE; -const Bool_t AliITSInitGeometry::fgkOldSSDcone = kFALSE; -const Bool_t AliITSInitGeometry::fgkOldSPDshield = kFALSE; -const Bool_t AliITSInitGeometry::fgkOldSDDshield = kTRUE; -const Bool_t AliITSInitGeometry::fgkOldSSDshield = kTRUE; -const Bool_t AliITSInitGeometry::fgkOldServices = kFALSE; -const Bool_t AliITSInitGeometry::fgkOldSupports = kFALSE; //______________________________________________________________________ AliITSInitGeometry::AliITSInitGeometry(): TObject(), // Base Class fName(0), // Geometry name -fMinorVersion(-1), // Minor version number/type fMajorVersion(kvDefault), // Major versin number fTiming(kFALSE), // Flag to start inilization timing fSegGeom(kFALSE), // Flag to switch between the old use of @@ -86,12 +75,10 @@ fDebug(0){ // Debug flag fName = "Undefined"; } //______________________________________________________________________ -AliITSInitGeometry::AliITSInitGeometry(AliITSVersion_t version, - Int_t minorversion): +AliITSInitGeometry::AliITSInitGeometry(AliITSVersion_t version): TObject(), // Base Class fName(0), // Geometry name -fMinorVersion(minorversion), // Minor version number/type -fMajorVersion(version), // Major versin number +fMajorVersion(version), // Major version number fTiming(kFALSE), // Flag to start inilization timing fSegGeom(kFALSE), // Flag to switch between the old use of // AliITSgeomS?D class, or AliITSsegmentation @@ -112,8 +99,7 @@ fDebug(0){ // Debug flag break; case kvDefault: default: - AliFatal(Form("Undefined geometry: fMajorVersion=%d, " - "fMinorVersion= %d",(Int_t)fMajorVersion,fMinorVersion)); + AliFatal(Form("Undefined geometry: fMajorVersion=%d, ",(Int_t)fMajorVersion)); fName = "Undefined"; break; } // switch @@ -142,25 +128,24 @@ AliITSgeom* AliITSInitGeometry::CreateAliITSgeom(){ return 0; }// end if const Char_t *title = itsV->GetTitle(); - if(!ReadVersionString(title,(Int_t)strlen(title),version,minor, - datetime)) + if(!ReadVersionString(title,version)) Warning("UpdateInternalGeometry","Can't read title=%s\n",title); SetTiming(kFALSE); SetSegGeom(kFALSE); SetDecoding(kFALSE); - AliITSgeom *geom = CreateAliITSgeom(version,minor); + AliITSgeom *geom = CreateAliITSgeom(version); AliDebug(1,"AliITSgeom object has been initialized from TGeo\n"); return geom; } //______________________________________________________________________ -AliITSgeom* AliITSInitGeometry::CreateAliITSgeom(Int_t major,Int_t minor){ +AliITSgeom* AliITSInitGeometry::CreateAliITSgeom(Int_t major){ // Creates and Initilizes the geometry transformation class AliITSgeom // to values appropreate to this specific geometry. Now that // the segmentation is part of AliITSgeom, the detector // segmentations are also defined here. // Inputs: // Int_t major major version, see AliITSVersion_t - // Int_t minor minor version + // // Outputs: // none. // Return: @@ -170,12 +155,12 @@ AliITSgeom* AliITSInitGeometry::CreateAliITSgeom(Int_t major,Int_t minor){ switch(major){ case kv11: SetGeometryName("AliITSv11"); - SetVersion(kv11,minor); + SetVersion(kv11); break; case kvDefault: default: SetGeometryName("Undefined"); - SetVersion(kvDefault,minor); + SetVersion(kvDefault); break; } // end switch AliITSgeom *geom = new AliITSgeom(); @@ -851,137 +836,47 @@ void AliITSInitGeometry::DecodeDetectorLayersv11(Int_t mod,Int_t &lay, } //______________________________________________________________________ -Bool_t AliITSInitGeometry::WriteVersionString(Char_t *str,Int_t length, - AliITSVersion_t maj,Int_t min, - const Char_t *cvsDate,const Char_t *cvsRevision)const{ - // fills the string str with the major and minor version number +Bool_t AliITSInitGeometry::WriteVersionString(Char_t *str,Int_t length,AliITSVersion_t maj)const{ + // fills the string str with the major version number // Inputs: - // Char_t *str The character string to hold the major - // and minor version numbers in + // Char_t *str The character string to hold the major version number // Int_t length The maximum number of characters which - // can be accomidated by this string. - // str[length-1] must exist and will be set to zero + // can be accommodated by this string. + // str[length-1] must exist // AliITSVersion_t maj The major number - // Int_t min The minor number - // Char_t *cvsDate The date string from cvs - // Char_t *cvsRevision The Revision string from cvs - // Outputs: - // Char_t *str The character string holding the major and minor - // version numbers. str[length-1] must exist - // and will be set to zero - // Return: - // kTRUE if no errors - Char_t cvslikedate[30]; - Int_t i,n,cvsDateLength,cvsRevisionLength; - - cvsDateLength = (Int_t)strlen(cvsDate); - if(cvsDateLength>30){ // svn string, make a cvs like string - i=0;n=0; - do{ - cvslikedate[i] = cvsDate[i]; - if(cvsDate[i]=='+' || cvsDate[i++]=='-'){ - n++; // count number of - - cvslikedate[i-1] = '/'; // replace -'s by /'s. - } // end if - } while(n<3&&i<30); // once additonal - of time zone reach exit - cvslikedate[i-1] = '$'; // put $ at end then zero. - for(;i<30;i++) cvslikedate[i]=0;// i starts wher do loop left off. - }else{ - for(i=0;i1) printf("AliITSInitGeometry::WriteVersionString:" - "length=%d major=%d minor=%d cvsDate=%s[%d] " - "cvsRevision=%s[%d] n=%d\n",length,i,min,cvslikedate, - cvsDateLength,cvsRevision,cvsRevisionLength,n); - if(i<0) n++; - if(min<0) n++; - if(length1)printf("AliITSInitGeometry::WriteVersionString: " - "n=%d str=%s revision[%zu] date[%zu]\n", - n,str,strlen(cvsrevision),strlen(cvsdate)); - */ - delete[] cvsrevision; - delete[] cvsdate; + + + Int_t i = (Int_t)maj; + + snprintf(str,length-1,"Major Version= %d",i); return kTRUE; } //______________________________________________________________________ -Bool_t AliITSInitGeometry::ReadVersionString(const Char_t *str,Int_t length, - AliITSVersion_t &maj,Int_t &min, - TDatime &dt)const{ +Bool_t AliITSInitGeometry::ReadVersionString(const Char_t *str,AliITSVersion_t &maj)const{ // fills the string str with the major and minor version number // Inputs: - // Char_t *str The character string to holding the major and minor - // version numbers in + // Char_t *str The character string to holding the major version number // Int_t length The maximum number of characters which can be - // accomidated by this string. str[length-1] must exist + // accommodated by this string. str[length-1] must exist // Outputs: - // Char_t *str The character string holding the major and minor - // version numbers unchanged. str[length-1] must exist. // AliITSVersion_t maj The major number - // Int_t min The minor number - // TDatime dt The date and time of the cvs commit + // Return: // kTRUE if no errors - Bool_t ok; - Char_t cvsRevision[10],cvsDate[11],cvsTime[9]; - Int_t i,m,n=strlen(str),year,month,day,hours,minuits,seconds; - memset(cvsRevision,0,10*sizeof(Char_t)); - memset(cvsDate,0,11*sizeof(Char_t)); - memset(cvsTime,0,9*sizeof(Char_t)); - - if(GetDebug()>1)printf("AliITSInitGeometry::ReadVersionString:" - "str=%s length=%d\n", - str,length); - if(n<35) return kFALSE; // not enough space for numbers - m = sscanf(str,"Major Version= %d Minor Version= %d Revision: %9s " - "Date: %10s %8s",&i,&min,cvsRevision,cvsDate,cvsTime); - - // v11Hybrid geometry is treated as a v11 geometry - if(i == 110)i=11; - - ok = m==5; - if(!ok) return !ok; - m = sscanf(cvsDate,"%d/%d/%d",&year,&month,&day); - ok = m==3; - if(!ok) return !ok; - m = sscanf(cvsTime,"%d:%d:%d",&hours,&minuits,&seconds); - ok = m==3; - if(!ok) return !ok; - dt.Set(year,month,day,hours,minuits,seconds); - if(GetDebug()>1)printf("AliITSInitGeometry::ReadVersionString: i=%d " - "min=%d cvsRevision=%s cvsDate=%s cvsTime=%s m=%d\n", - i,min,cvsRevision,cvsDate,cvsTime,m); - if(GetDebug()>1)printf("AliITSInitGeometry::ReadVersionString: year=%d" - " month=%d day=%d hours=%d minuits=%d seconds=%d\n", - year,month,day,hours,minuits,seconds); - switch (i){ - case kv11:{ - maj = kv11; - } break; - default:{ - maj = kvDefault; - } break; - } // end switch - return ok; + + Bool_t retcode=kFALSE; + Int_t n=strlen(str); + if(n<15) return retcode; // not enough space for numbers + Int_t m,i; + m = sscanf(str,"Major Version= %d",&i); + maj = kvDefault; + if(m>0){ + retcode = kTRUE; + if(i==11){ + maj = kv11; + } + } + return retcode; } + + diff --git a/ITS/AliITSInitGeometry.h b/ITS/AliITSInitGeometry.h index 6b24e57a990..4da8e3bce7a 100644 --- a/ITS/AliITSInitGeometry.h +++ b/ITS/AliITSInitGeometry.h @@ -29,22 +29,20 @@ class AliITSInitGeometry : public TObject{ public: AliITSInitGeometry();//Default Constructor - AliITSInitGeometry(AliITSVersion_t version, - Int_t minorversion=2);//Standard Constructor + AliITSInitGeometry(AliITSVersion_t version);//Standard Constructor //virtual ~AliITSInitGeometry(); // Destructor // // Create and initialize geometry from TGeo AliITSgeom* CreateAliITSgeom(); - AliITSgeom* CreateAliITSgeom(Int_t major,Int_t minor); + AliITSgeom* CreateAliITSgeom(Int_t major); Bool_t InitAliITSgeom(AliITSgeom *geom);//Initilize geometry from gGeoManager // Getters and Setters // Getters and Setters - void SetVersion(AliITSVersion_t maj,Int_t min) {// Set Major and Minor versions - fMajorVersion=maj;fMinorVersion=min;} + void SetVersion(AliITSVersion_t maj) {// Set version + fMajorVersion=maj;} TString GetGeometryName()const {return fName;}// Return geometry name void SetGeometryName(const Char_t *name){fName = name;}// Set Geometry name Int_t GetMajorVersion()const {return (Int_t)fMajorVersion;} // Return geometry major version - Int_t GetMinorVersion()const{return fMinorVersion;}// Return geometry minor version Bool_t GetTiming()const{return fTiming;} // return routine timing flag void SetTiming(Bool_t time=kTRUE){fTiming=time;}// Set routine timing (on) Bool_t GetSegGeom()const{return fSegGeom;} // return flag indecating the use of AliITSsegmentation or AliITSgeomS?D class in fShape. @@ -62,27 +60,14 @@ class AliITSInitGeometry : public TObject{ Int_t cpn1,Int_t cpn2) const; // Given module number, find copy numbers. void RecodeDetector(Int_t mod,Int_t &cpn0,Int_t &cpn1,Int_t &cpn2); - // fills the string str with the major and minor version number + // fills the string str with the version number Bool_t WriteVersionString(Char_t *str,Int_t length, - AliITSVersion_t maj,Int_t min, - const Char_t *cvsDate,const Char_t *cvsRev)const; - // decodes the string str with the major and minor version number - Bool_t ReadVersionString(const Char_t *str,Int_t length, - AliITSVersion_t &maj,Int_t &min,TDatime &dt)const; - - static Bool_t SPDIsTGeoNative() {return !fgkOldSPDbarrel;} - static Bool_t SDDIsTGeoNative() {return !fgkOldSDDbarrel;} - static Bool_t SSDIsTGeoNative() {return !fgkOldSSDbarrel;} - - static Bool_t SDDconeIsTGeoNative() {return ! fgkOldSDDcone;} - static Bool_t SSDconeIsTGeoNative() {return ! fgkOldSSDcone;} - static Bool_t SPDshieldIsTGeoNative() {return ! fgkOldSPDshield;} - static Bool_t SDDshieldIsTGeoNative() {return ! fgkOldSDDshield; } - static Bool_t SSDshieldIsTGeoNative() {return ! fgkOldSSDshield;} - static Bool_t ServicesAreTGeoNative() {return ! fgkOldServices;} - static Bool_t SupportIsTGeoNative() {return ! fgkOldSupports;} + AliITSVersion_t maj)const; private: + // decodes the string str with the version number + Bool_t ReadVersionString(const Char_t *str,AliITSVersion_t &maj)const; + // Decode module number into old layer, ladder, and detector numbers void DecodeDetectorLayersv11(Int_t mod,Int_t &lay, Int_t &lad,Int_t &det); @@ -99,7 +84,6 @@ class AliITSInitGeometry : public TObject{ void TransposeTGeoHMatrix(TGeoHMatrix *m) const; TString fName; // Geometry name - Int_t fMinorVersion; // Geometry minor version AliITSVersion_t fMajorVersion; // Geometry swich value Bool_t fTiming; // Flag to start inilization timing Bool_t fSegGeom; // Flag to switch between the old use of @@ -108,16 +92,6 @@ class AliITSInitGeometry : public TObject{ Bool_t fDecode; // Flag for new/old decoding Int_t fDebug; // Debug flag - static const Bool_t fgkOldSPDbarrel; // use old geo for SPD ? - static const Bool_t fgkOldSDDbarrel; // use old geo for SDD ? - static const Bool_t fgkOldSSDbarrel; // use old geo for SSD ? - static const Bool_t fgkOldSDDcone; // use old geo for SDD cone ? - static const Bool_t fgkOldSSDcone; // use old geo for SSD cone? - static const Bool_t fgkOldSPDshield; // use old geo for SPD shield ? - static const Bool_t fgkOldSDDshield; // use old geo for SDD shield ? - static const Bool_t fgkOldSSDshield; // use old geo for SDD shield ? - static const Bool_t fgkOldServices; // use old geo for services ? - static const Bool_t fgkOldSupports; // use old geo for supports ? ClassDef(AliITSInitGeometry,0) // create/Init AliITSgeom // 0 in ClassDef indicates that this class will not be "saved" in a file. diff --git a/ITS/AliITSv11.cxx b/ITS/AliITSv11.cxx index 55fd6eb1e15..091df0679d6 100644 --- a/ITS/AliITSv11.cxx +++ b/ITS/AliITSv11.cxx @@ -71,10 +71,8 @@ ClassImp(AliITSv11) //______________________________________________________________________ AliITSv11::AliITSv11(): fByThick(kTRUE), - fMajorVersion(IsVersion()), - fMinorVersion(-1), fIDMother(0), - fInitGeom((AliITSVersion_t)fMajorVersion,fMinorVersion), + fInitGeom(kv11), fSPDgeom(0), fSDDgeom(0), fSSDgeom(0), @@ -93,10 +91,8 @@ AliITSv11::AliITSv11(): AliITSv11::AliITSv11(const char *title) : AliITS("ITS", title), fByThick(kTRUE), - fMajorVersion(IsVersion()), - fMinorVersion(1), fIDMother(0), - fInitGeom((AliITSVersion_t)fMajorVersion,fMinorVersion), + fInitGeom(kv11), fSPDgeom(0), fSDDgeom(0), fSSDgeom(0), @@ -139,10 +135,8 @@ AliITSv11::AliITSv11(const char *title) AliITSv11::AliITSv11(const char *name, const char *title) : AliITS("ITS", title), fByThick(kTRUE), - fMajorVersion(IsVersion()), - fMinorVersion(1), fIDMother(0), - fInitGeom((AliITSVersion_t)fMajorVersion,fMinorVersion), + fInitGeom(kv11), fSPDgeom(0), fSDDgeom(0), fSSDgeom(0), @@ -613,12 +607,9 @@ void AliITSv11::CreateGeometry() vALIC->AddNode(vITSS, 1, 0); // - const Char_t *cvsDate="$Date: 2013-07-05 15:19:21 +0200 (Fri, 05 Jul 2013) $"; - const Char_t *cvsRevision="$Revision: 63353 $"; const Int_t kLength=100; Char_t vstrng[kLength]; - if(fInitGeom.WriteVersionString(vstrng,kLength,(AliITSVersion_t)IsVersion(), - fMinorVersion,cvsDate,cvsRevision)) { + if(fInitGeom.WriteVersionString(vstrng,kLength,(AliITSVersion_t)IsVersion())){ vITSV->SetTitle(vstrng); vITSS->SetTitle(vstrng); } @@ -1566,8 +1557,6 @@ void AliITSv11::Init() // Return: // none. - AliDebug(1,Form("Init: Major version %d Minor version %d",fMajorVersion, - fMinorVersion)); UpdateInternalGeometry(); AliITS::Init(); diff --git a/ITS/AliITSv11.h b/ITS/AliITSv11.h index 70537ac2992..66df286d0af 100644 --- a/ITS/AliITSv11.h +++ b/ITS/AliITSv11.h @@ -53,18 +53,13 @@ class AliITSv11 : public AliITS { virtual void Init(); virtual void SetDefaults(); virtual void StepManager(); - virtual void SetMinorVersion(Int_t v=2){ // Choose between existing minor versions - fMinorVersion = v;} virtual void SetDensityServicesByThickness(){// uses services density // calculation based on the thickness of the services. fByThick = kTRUE;} virtual void SetDensityServicesByMass(){// uses services density // calculation based on the Mass of the services. fByThick = kFALSE;} - virtual Int_t GetMajorVersion() const {// return Major Version Number - return fMajorVersion;} - virtual Int_t GetMinorVersion() const {// return Major Version Number - return fMinorVersion;} + protected: void SetT2Lmatrix(Int_t uid, Double_t yShift, @@ -76,8 +71,6 @@ class AliITSv11 : public AliITS { Bool_t fByThick; // Flag to use services materials by thickness // ture, or mass false. - Int_t fMajorVersion; // Major version number == IsVersion - Int_t fMinorVersion; // Minor version number Int_t fIDMother; //! ITS Mother Volume id. AliITSInitGeometry fInitGeom; //! Get access to decoding and AliITSgeom init functions @@ -86,7 +79,7 @@ class AliITSv11 : public AliITS { AliITSv11GeometrySSD *fSSDgeom; //! SSD Geometry AliITSv11GeometrySupport *fSupgeom; //! Support Geometry - ClassDef(AliITSv11,3) // ITS version 11 + ClassDef(AliITSv11,4) // ITS version 11 }; #endif -- 2.39.3