X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=FMD%2FAliFMDGeometry.h;h=35760cea4798a5d428973d0658320f4dbf8fd8e0;hb=91d019b812030a6b3e3ba7308c072f6f6a8079b9;hp=98da215aca328f22199fd47996f10e7ba48cc6c9;hpb=f8616692c3315d6fccbdb31611c6de1906712b40;p=u%2Fmrichter%2FAliRoot.git diff --git a/FMD/AliFMDGeometry.h b/FMD/AliFMDGeometry.h index 98da215aca3..35760cea479 100644 --- a/FMD/AliFMDGeometry.h +++ b/FMD/AliFMDGeometry.h @@ -7,12 +7,18 @@ * * See cxx source for full Copyright notice */ -//____________________________________________________________________ -// +/** @file AliFMDGeometry.h + @author Christian Holm Christensen + @date Mon Mar 27 12:40:37 2006 + @brief Geometry mananger for the FMD +*/ +//____________________________________________________________________ +// // Forward Multiplicity Detector based on Silicon wafers. // // This class is a singleton that handles the geometry parameters of // the FMD detectors. +// The actual code is done by various separate classes. // #ifndef ALIGEOMETRY_H # include @@ -35,7 +41,7 @@ class AliFMDGeometryBuilder; //__________________________________________________________________ -/** Singleton object of FMD geometry descriptions and parameters. +/** @brief Singleton object of FMD geometry descriptions and parameters. This class is a singleton that handles the geometry parameters of the FMD detectors. @@ -82,7 +88,7 @@ public: /** Initialize */ virtual void Init(); /** Initialize transforms */ - virtual void InitTransformations(); + virtual void InitTransformations(Bool_t force=kFALSE); /** @return Get inner description */ AliFMDRing* GetInner() const { return fInner; } /** @return Get outer description */ @@ -170,6 +176,9 @@ public: void SetActive(Int_t* active, Int_t n); /** @param id Register volume @a id to be active */ void AddActive(Int_t id); + /** Get Array of active volume numbers + @return constant reference to active volume numbers */ + const TArrayI& ActiveIds() const { return fActive; } /** Set an external geometry builder @param b Geometry builder */ void SetBuilder(AliFMDGeometryBuilder* b) { fBuilder = b; } @@ -199,6 +208,8 @@ public: @param particle Track @return @c true if @a particle will hit this detector */ virtual Bool_t Impact(const TParticle* particle) const; + /** Declare alignable volumes */ + virtual void SetAlignableVolumes() const; protected: Bool_t fIsInitialized; // Whether singleton is initalized AliFMDRing* fInner; // Inner ring geometry information @@ -209,6 +220,7 @@ protected: Bool_t fUseFMD1; // Wheter to Use FMD1 or not Bool_t fUseFMD2; // Wheter to Use FMD2 or not Bool_t fUseFMD3; // Wheter to Use FMD3 or not + Bool_t fIsInitTrans; // Transforms initialised? static AliFMDGeometry* fgInstance; // Singleton instance /** CTOR */ AliFMDGeometry(); @@ -221,16 +233,16 @@ protected: AliFMDGeometry& operator=(const AliFMDGeometry& other); virtual ~AliFMDGeometry() {} - AliFMDGeometryBuilder* fBuilder; - Int_t fDetectorOff; - Int_t fModuleOff; - Int_t fRingOff; - Int_t fSectorOff; - TArrayI fActive; - Bool_t fDetailed; - Bool_t fUseAssembly; + AliFMDGeometryBuilder* fBuilder; // Geometry builder + Int_t fDetectorOff; // Detector off-set + Int_t fModuleOff; // Module off-set + Int_t fRingOff; // ring offset + Int_t fSectorOff; // Sector offset + TArrayI fActive; // Active volumes + Bool_t fDetailed; // Whether to make detailed geom + Bool_t fUseAssembly; // Whther to use assemblies - ClassDef(AliFMDGeometry,1); // + ClassDef(AliFMDGeometry,1); // Geometry parameters and manager };