X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSv11.h;h=66df286d0afcc47b2a18a6a797254d422975423e;hb=9eee9fe98421cc964099854d967785b3c73c44f0;hp=4444b2012a711ba434426fba932792d878928203;hpb=e939a978a98d29901b86bdb02cdcaf5157e717de;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSv11.h b/ITS/AliITSv11.h index 4444b2012a7..66df286d0af 100644 --- a/ITS/AliITSv11.h +++ b/ITS/AliITSv11.h @@ -3,90 +3,83 @@ /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ +//======================================================================== +// +// Inner Traking System geometry v11 +// +// Based on ROOT geometrical modeler +// +// B. Nilsen, L. Gaudichet, M. Sitta +// +//======================================================================== + + +// $Id: + +// $Log$ +// Revision 1.1 2011/06/10 14:48:24 masera +// First version from v11Hybrid to v11 (M. Sitta) +// #include "AliITS.h" -class AliITSv11GeometrySPD; -class AliITSv11GeometrySDD; -class AliITSv11GeometrySupport; +#include "AliITSInitGeometry.h" + +class AliITSv11GeometrySPD; +class AliITSv11GeometrySDD; +class AliITSv11GeometrySSD; +class AliITSv11GeometrySupport; +class TGeoVolume; +class TGeoVolumeAssembly; class AliITSv11 : public AliITS { public: AliITSv11(); + AliITSv11(const char *title); AliITSv11(const char *name, const char *title); - AliITSv11(Int_t debugITS, Int_t debugSPD = 0, Int_t debugSDD = 0, - Int_t debugSSD = 0, Int_t debugSUP = 0); virtual ~AliITSv11() ; - virtual void BuildGeometry(); + + virtual void AddAlignableVolumes() const; virtual void CreateGeometry(); virtual void CreateMaterials(); + + virtual AliITSv11GeometrySPD* GetSPDGeometry(){return fSPDgeom;} + virtual AliITSv11GeometrySDD* GetSDDGeometry(){return fSDDgeom;} + virtual AliITSv11GeometrySSD* GetSSDGeometry(){return fSSDgeom;} + virtual AliITSv11GeometrySupport* GetSupGeometry(){return fSupgeom;} + + virtual Int_t IsVersion() const {// returns the ITS version number + return 11;} virtual void Init(); virtual void SetDefaults(); - virtual void DrawModule() const; virtual void StepManager(); - //virtual AliITSv11GeometrySPD* GetSPDGeometry(){return fSPDgeom;} - virtual AliITSv11GeometrySDD* GetSDDGeometry(){return fSDDgeom;} - //virtual AliITSv11GeometrySupport* GetSupGeometry(){return fSupgeom;} - virtual Int_t IsVersion() const { return fMajorVersion;} // ITS version number - virtual Int_t GetMajorVersion() const {// return Major Version Number - return fMajorVersion;} - virtual Int_t GetMinorVersion() const {// return Major Version Number - return fMinorVersion;} - - - virtual void SetWriteDet(Bool_t det=kTRUE){ // set .det write - fGeomDetOut = det;} - virtual void SetWriteDet(const char *f){ // set write file - strncpy(fWrite,f,60);fGeomDetOut = kTRUE;} - virtual void SetReadDet(Bool_t det=kTRUE){ //set .det read - fGeomDetIn = det;} - virtual void SetReadDet(const char *f){ // set read file - strncpy(fRead,f,60);fGeomDetIn = kTRUE;} - virtual void SetEUCLIDFileName(const char *f){ // set write file - fEuclidGeometry=f;fEuclidOut = kTRUE;} - virtual void SetMinorVersion(Int_t v=0){ // 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 Bool_t GetEUCLID() const {return fEuclidOut;}// returns value Euclid flag. - virtual const char *GetEULIIDFileName() const{ // return .euc file name - return fEuclidGeometry.Data();} - virtual Bool_t GetWriteDet() const { // returns value GeomDetOut flag. - return fGeomDetOut;} - virtual Bool_t GetReadDet() const { // returns value GeomDetIn flag. - return fGeomDetIn;} - virtual char *GetReadDetFileName(){ // return .det read file name - if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;} - virtual char *GetWriteDetFileName(){ // return .det write file name - if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;} + protected: + void SetT2Lmatrix(Int_t uid, Double_t yShift, + Bool_t yFlip, Bool_t yRot180=kFALSE) const; // Set T2L matrix in TGeoPNEntries + private: - AliITSv11(const AliITSv11 &source); // copy constructor + AliITSv11(const AliITSv11 &source); // copy constructor AliITSv11& operator=(const AliITSv11 &source); // assignment operator - void InitAliITSgeom(); - - Bool_t fGeomDetOut; // Flag to write .det file out - Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat. - 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 - char fEuclidGeomDet[60];// file where detector transormation are define. - char fRead[60]; //! file name to read .det file - char fWrite[60]; //! file name to write .det file + Bool_t fByThick; // Flag to use services materials by thickness + // ture, or mass false. + Int_t fIDMother; //! ITS Mother Volume id. - //AliITSv11GeometrySPD *fSPDgeom; //SPD Geometry - AliITSv11GeometrySDD *fSDDgeom; //! SDD Geometry - //AliITSv11GeometrySupport /fSupgeom; //Support Geometry + AliITSInitGeometry fInitGeom; //! Get access to decoding and AliITSgeom init functions + AliITSv11GeometrySPD *fSPDgeom; //! SPD Geometry + AliITSv11GeometrySDD *fSDDgeom; //! SDD Geometry + AliITSv11GeometrySSD *fSSDgeom; //! SSD Geometry + AliITSv11GeometrySupport *fSupgeom; //! Support Geometry - ClassDef(AliITSv11,1) // ITS version 11 + ClassDef(AliITSv11,4) // ITS version 11 }; #endif