//
// 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 <AliGeometry.h>
/** 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 */
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; }
@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
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();