AliRoot Core  v5-06-15 (45dab64)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONVGeometryBuilder Class Referenceabstract

Abstract base class for geometry construction per module(s) More...

#include <AliMUONVGeometryBuilder.h>

Inheritance diagram for AliMUONVGeometryBuilder:

Public Member Functions

 AliMUONVGeometryBuilder (Int_t firstModuleId, Int_t nofModules)
 
 AliMUONVGeometryBuilder ()
 
virtual ~AliMUONVGeometryBuilder ()
 
void SetReferenceFrame (const TGeoCombiTrans &referenceFrame)
 
void RebuildSVMaps (Bool_t withEnvelopes=true) const
 
void UpdateDetElements (Bool_t create) const
 
virtual void CreateMaterials ()
 
virtual void CreateGeometry ()=0
 
virtual void SetVolumes ()=0
 and eventually the mother volume name should be defined More...
 
virtual void SetTransformations ()=0
 
virtual void SetSensitiveVolumes ()=0
 
virtual bool ApplyGlobalTransformation ()
 
Int_t NofGeometries () const
 Return the number of geometry modules. More...
 
AliMUONGeometryModuleGeometry (Int_t i) const
 Return the i th geometry module. More...
 

Protected Member Functions

AliMUONGeometryModuleGetGeometry (Int_t moduleId) const
 
AliMUONGeometryEnvelopeStoreGetEnvelopes (Int_t moduleId) const
 
AliMUONStringIntMapGetSVMap (Int_t moduleId) const
 
Int_t GetModuleId (const TString &envName) const
 
void SetTranslation (Int_t moduleId, const TGeoTranslation &translation)
 
void SetTransformation (Int_t moduleId, const TGeoTranslation &translation, const TGeoRotation &rotation)
 
void SetVolume (Int_t moduleId, const TString &volumeName, Bool_t isVirtual=false)
 
void SetMotherVolume (Int_t moduleId, const TString &volumeName)
 

Private Member Functions

 AliMUONVGeometryBuilder (const AliMUONVGeometryBuilder &rhs)
 Not implemented. More...
 
AliMUONVGeometryBuilderoperator= (const AliMUONVGeometryBuilder &rhs)
 Not implemented. More...
 
TGeoHMatrix ConvertTransform (const TGeoHMatrix &transform) const
 
TGeoHMatrix ConvertDETransform (const TGeoHMatrix &transform) const
 
TString ComposePath (const TString &volName, Int_t copyNo) const
 
void MapSV (const TString &path0, const TString &volName, Int_t detElemId) const
 

Private Attributes

TObjArrayfGeometryModules
 the modules geometries that will be built by this builder More...
 
TGeoCombiTrans fReferenceFrame
 the transformation from the builder reference frame to that of the transform More...
 

Detailed Description

Abstract base class for geometry construction per module(s)

Author
Ivana Hrivnacova, IPN Orsay

Definition at line 30 of file AliMUONVGeometryBuilder.h.

Constructor & Destructor Documentation

AliMUONVGeometryBuilder::AliMUONVGeometryBuilder ( Int_t  firstModuleId,
Int_t  nofModules 
)

Standard constructor

Definition at line 51 of file AliMUONVGeometryBuilder.cxx.

AliMUONVGeometryBuilder::AliMUONVGeometryBuilder ( )

Default constructor

Definition at line 69 of file AliMUONVGeometryBuilder.cxx.

AliMUONVGeometryBuilder::~AliMUONVGeometryBuilder ( )
virtual

Destructor

Definition at line 78 of file AliMUONVGeometryBuilder.cxx.

AliMUONVGeometryBuilder::AliMUONVGeometryBuilder ( const AliMUONVGeometryBuilder rhs)
private

Not implemented.

Member Function Documentation

virtual bool AliMUONVGeometryBuilder::ApplyGlobalTransformation ( )
inlinevirtual

Function to be overriden (and return false) in the concrete geometry builder classes which are already defined in the new ALICE coordinate frame

Reimplemented in AliMUONTriggerGeometryBuilder.

Definition at line 80 of file AliMUONVGeometryBuilder.h.

Referenced by AliMUONGeometryBuilder::AddBuilder(), AliMUONGeometryBuilder::CreateGeometryWithoutTGeo(), and AliMUONGeometryBuilder::CreateGeometryWithTGeo().

TString AliMUONVGeometryBuilder::ComposePath ( const TString &  volName,
Int_t  copyNo 
) const
private

Compose path from given volName and copyNo

Definition at line 122 of file AliMUONVGeometryBuilder.cxx.

Referenced by MapSV(), RebuildSVMaps(), SetMotherVolume(), SetVolume(), and UpdateDetElements().

TGeoHMatrix AliMUONVGeometryBuilder::ConvertDETransform ( const TGeoHMatrix &  transform) const
private

Convert DE transformation into the reference frame

Definition at line 109 of file AliMUONVGeometryBuilder.cxx.

Referenced by UpdateDetElements().

TGeoHMatrix AliMUONVGeometryBuilder::ConvertTransform ( const TGeoHMatrix &  transform) const
private

Convert transformation into the reference frame

Definition at line 94 of file AliMUONVGeometryBuilder.cxx.

Referenced by SetTransformation(), and SetTranslation().

virtual void AliMUONVGeometryBuilder::CreateGeometry ( )
pure virtual

Function to be overriden in a concrete chamber/station geometry builder class.
The geometry built there should not be placed in ALIC; but all volumes going to ALIC have to be added as envelopes to the chamber geometries (They will be then placed automatically usind the provided transformation.

Implemented in AliMUONSt1GeometryBuilderV2, AliMUONCommonGeometryBuilder, AliMUONSlatGeometryBuilder, AliMUONSt1GeometryBuilder, AliMUONSt2GeometryBuilder, AliMUONSt2GeometryBuilderV2, and AliMUONTriggerGeometryBuilder.

Referenced by AliMUONGeometryBuilder::CreateGeometryWithoutTGeo(), and AliMUONGeometryBuilder::CreateGeometryWithTGeo().

virtual void AliMUONVGeometryBuilder::CreateMaterials ( )
inlinevirtual

Function to be overriden in a concrete chamber/station geometry builder class. Only materials that are not defined in the common functions should be defined here.

Reimplemented in AliMUONSt1GeometryBuilderV2, and AliMUONCommonGeometryBuilder.

Definition at line 46 of file AliMUONVGeometryBuilder.h.

Referenced by AliMUONGeometryBuilder::CreateMaterials().

AliMUONGeometryModule * AliMUONVGeometryBuilder::Geometry ( Int_t  i) const
inline
Int_t AliMUONVGeometryBuilder::GetModuleId ( const TString &  envName) const
protected

Return module Id which has the envelope with given name

Definition at line 233 of file AliMUONVGeometryBuilder.cxx.

Referenced by AliMUONSlatGeometryBuilder::CreateGeometry().

AliMUONStringIntMap * AliMUONVGeometryBuilder::GetSVMap ( Int_t  moduleId) const
protected

Return the transformation store of the module geometry specified by moduleId

Definition at line 217 of file AliMUONVGeometryBuilder.cxx.

Referenced by MapSV().

void AliMUONVGeometryBuilder::MapSV ( const TString &  path0,
const TString &  volName,
Int_t  detElemId 
) const
private

Update the path with all daughters volumes recursively and map it to the detection element Id if it is a sensitive volume

Definition at line 136 of file AliMUONVGeometryBuilder.cxx.

Referenced by RebuildSVMaps().

Int_t AliMUONVGeometryBuilder::NofGeometries ( ) const
inline
AliMUONVGeometryBuilder& AliMUONVGeometryBuilder::operator= ( const AliMUONVGeometryBuilder rhs)
private

Not implemented.

void AliMUONVGeometryBuilder::RebuildSVMaps ( Bool_t  withEnvelopes = true) const

Clear the SV maps in memory and fill them from defined geometry.

Definition at line 420 of file AliMUONVGeometryBuilder.cxx.

Referenced by AliMUONGeometryBuilder::WriteSVMaps().

void AliMUONVGeometryBuilder::SetMotherVolume ( Int_t  moduleId,
const TString &  volumeName 
)
protected
void AliMUONVGeometryBuilder::SetReferenceFrame ( const TGeoCombiTrans &  referenceFrame)

Set reference frame to builder and to all associated geometry modules

Definition at line 335 of file AliMUONVGeometryBuilder.cxx.

Referenced by AliMUONGeometryBuilder::AddBuilder().

virtual void AliMUONVGeometryBuilder::SetSensitiveVolumes ( )
pure virtual

Function to be overriden in a concrete chamber/station geometry class.
The sensitive volumes Ids for each chamber should be defined and set to its geometry class.

Implemented in AliMUONSt1GeometryBuilderV2, AliMUONSlatGeometryBuilder, AliMUONSt1GeometryBuilder, AliMUONSt2GeometryBuilder, AliMUONSt2GeometryBuilderV2, AliMUONTriggerGeometryBuilder, and AliMUONCommonGeometryBuilder.

Referenced by AliMUONGeometryBuilder::InitGeometry().

void AliMUONVGeometryBuilder::SetTransformation ( Int_t  moduleId,
const TGeoTranslation &  translation,
const TGeoRotation &  rotation 
)
protected

Set the transformation to the geometry module given by moduleId, apply reference frame transformation

Definition at line 273 of file AliMUONVGeometryBuilder.cxx.

Referenced by AliMUONTriggerGeometryBuilder::SetTransformations(), and AliMUONSlatGeometryBuilder::SetTransformations().

virtual void AliMUONVGeometryBuilder::SetTransformations ( )
pure virtual

Function to be overriden in a concrete chamber/station geometry class.
The transformation of each chamber(s) wrt ALICE should be defined and set to its geometry class.

Implemented in AliMUONSt1GeometryBuilderV2, AliMUONCommonGeometryBuilder, AliMUONSlatGeometryBuilder, AliMUONSt1GeometryBuilder, AliMUONSt2GeometryBuilder, AliMUONSt2GeometryBuilderV2, and AliMUONTriggerGeometryBuilder.

Referenced by AliMUONGeometryBuilder::CreateGeometryWithoutTGeo(), and AliMUONGeometryBuilder::CreateGeometryWithTGeo().

void AliMUONVGeometryBuilder::SetTranslation ( Int_t  moduleId,
const TGeoTranslation &  translation 
)
protected

Set the translation to the geometry module given by moduleId, apply reference frame transformation

Definition at line 251 of file AliMUONVGeometryBuilder.cxx.

Referenced by AliMUONSt1GeometryBuilder::SetTransformations(), AliMUONSt2GeometryBuilderV2::SetTransformations(), AliMUONSt2GeometryBuilder::SetTransformations(), and AliMUONSt1GeometryBuilderV2::SetTransformations().

void AliMUONVGeometryBuilder::SetVolume ( Int_t  moduleId,
const TString &  volumeName,
Bool_t  isVirtual = false 
)
protected
virtual void AliMUONVGeometryBuilder::SetVolumes ( )
pure virtual

and eventually the mother volume name should be defined

Function to be overriden in a concrete chamber/station geometry class.
The volume name for each geometry module, its virtuality

Implemented in AliMUONSt1GeometryBuilderV2, AliMUONCommonGeometryBuilder, AliMUONSlatGeometryBuilder, AliMUONSt1GeometryBuilder, AliMUONSt2GeometryBuilder, AliMUONSt2GeometryBuilderV2, and AliMUONTriggerGeometryBuilder.

Referenced by AliMUONGeometryBuilder::CreateGeometryWithTGeo().

void AliMUONVGeometryBuilder::UpdateDetElements ( Bool_t  create) const

Create or update detection elements:

  • if parameter create is true: detection elements are created and their global and local transformations are filled from geometry.
  • otherwise: only the volume path is passed from geometry to detection elements

Definition at line 354 of file AliMUONVGeometryBuilder.cxx.

Referenced by AliMUONGeometryBuilder::CreateGeometry().

Member Data Documentation

TObjArray* AliMUONVGeometryBuilder::fGeometryModules
private

the modules geometries that will be built by this builder

Definition at line 123 of file AliMUONVGeometryBuilder.h.

Referenced by Geometry(), GetGeometry(), GetModuleId(), NofGeometries(), RebuildSVMaps(), SetReferenceFrame(), UpdateDetElements(), and ~AliMUONVGeometryBuilder().

TGeoCombiTrans AliMUONVGeometryBuilder::fReferenceFrame
private

the transformation from the builder reference frame to that of the transform

Definition at line 125 of file AliMUONVGeometryBuilder.h.

Referenced by ConvertDETransform(), ConvertTransform(), and SetReferenceFrame().


The documentation for this class was generated from the following files: