![]() |
AliRoot Core
v5-06-15 (45dab64)
|
Abstract base class for geometry construction per module(s) More...
#include <AliMUONVGeometryBuilder.h>
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... | |
AliMUONGeometryModule * | Geometry (Int_t i) const |
Return the i th geometry module. More... | |
Protected Member Functions | |
AliMUONGeometryModule * | GetGeometry (Int_t moduleId) const |
AliMUONGeometryEnvelopeStore * | GetEnvelopes (Int_t moduleId) const |
AliMUONStringIntMap * | GetSVMap (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... | |
AliMUONVGeometryBuilder & | operator= (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 | |
TObjArray * | fGeometryModules |
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... | |
Abstract base class for geometry construction per module(s)
Definition at line 30 of file AliMUONVGeometryBuilder.h.
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.
|
virtual |
Destructor
Definition at line 78 of file AliMUONVGeometryBuilder.cxx.
|
private |
Not implemented.
|
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().
|
private |
Compose path from given volName and copyNo
Definition at line 122 of file AliMUONVGeometryBuilder.cxx.
Referenced by MapSV(), RebuildSVMaps(), SetMotherVolume(), SetVolume(), and UpdateDetElements().
|
private |
Convert DE transformation into the reference frame
Definition at line 109 of file AliMUONVGeometryBuilder.cxx.
Referenced by UpdateDetElements().
|
private |
Convert transformation into the reference frame
Definition at line 94 of file AliMUONVGeometryBuilder.cxx.
Referenced by SetTransformation(), and SetTranslation().
|
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().
|
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().
|
inline |
Return the i th geometry module.
Definition at line 139 of file AliMUONVGeometryBuilder.h.
Referenced by AliMUONGeometryBuilder::AddBuilder(), AliMUONGeometryBuilder::CreateGeometryWithoutTGeo(), AliMUONGeometryBuilder::CreateGeometryWithTGeo(), and AliMUONGeometryBuilder::SetAlignToBuilder().
|
protected |
Return the envelope store of the module geometry specified by moduleId
Definition at line 201 of file AliMUONVGeometryBuilder.cxx.
Referenced by AliMUONTriggerGeometryBuilder::BuildChamberTypeA(), AliMUONTriggerGeometryBuilder::BuildChamberTypeB(), AliMUONTriggerGeometryBuilder::BuildChamberTypeD(), AliMUONTriggerGeometryBuilder::BuildChamberTypeE(), AliMUONTriggerGeometryBuilder::BuildChamberTypeF(), AliMUONTriggerGeometryBuilder::BuildRPCSupportsVertical(), AliMUONSt2GeometryBuilder::CreateGeometry(), AliMUONSt2GeometryBuilderV2::CreateGeometry(), AliMUONSt1GeometryBuilder::CreateGeometry(), AliMUONSlatGeometryBuilder::CreateGeometry(), and AliMUONSt1GeometryBuilderV2::CreateGeometry().
|
protected |
Return the module geometry specified by moduleId
Definition at line 184 of file AliMUONVGeometryBuilder.cxx.
Referenced by GetEnvelopes(), GetSVMap(), MapSV(), SetMotherVolume(), AliMUONTriggerGeometryBuilder::SetSensitiveVolumes(), AliMUONSlatGeometryBuilder::SetSensitiveVolumes(), AliMUONSt1GeometryBuilder::SetSensitiveVolumes(), AliMUONSt2GeometryBuilder::SetSensitiveVolumes(), AliMUONSt2GeometryBuilderV2::SetSensitiveVolumes(), AliMUONSt1GeometryBuilderV2::SetSensitiveVolumes(), SetTransformation(), SetTranslation(), and SetVolume().
|
protected |
Return module Id which has the envelope with given name
Definition at line 233 of file AliMUONVGeometryBuilder.cxx.
Referenced by AliMUONSlatGeometryBuilder::CreateGeometry().
|
protected |
Return the transformation store of the module geometry specified by moduleId
Definition at line 217 of file AliMUONVGeometryBuilder.cxx.
Referenced by MapSV().
|
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().
|
inline |
Return the number of geometry modules.
Definition at line 135 of file AliMUONVGeometryBuilder.h.
Referenced by AliMUONGeometryBuilder::AddBuilder(), AliMUONGeometryBuilder::CreateGeometryWithoutTGeo(), AliMUONGeometryBuilder::CreateGeometryWithTGeo(), and AliMUONGeometryBuilder::SetAlignToBuilder().
|
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().
|
protected |
Set mother volume name
Definition at line 316 of file AliMUONVGeometryBuilder.cxx.
Referenced by AliMUONTriggerGeometryBuilder::SetVolumes(), AliMUONSlatGeometryBuilder::SetVolumes(), AliMUONSt2GeometryBuilderV2::SetVolumes(), and AliMUONSt1GeometryBuilderV2::SetVolumes().
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().
|
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().
|
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().
|
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().
|
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().
|
protected |
Set volume name, virtuality
Definition at line 298 of file AliMUONVGeometryBuilder.cxx.
Referenced by AliMUONTriggerGeometryBuilder::SetVolumes(), AliMUONSt2GeometryBuilderV2::SetVolumes(), AliMUONSlatGeometryBuilder::SetVolumes(), AliMUONSt2GeometryBuilder::SetVolumes(), and AliMUONSt1GeometryBuilderV2::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:
Definition at line 354 of file AliMUONVGeometryBuilder.cxx.
Referenced by AliMUONGeometryBuilder::CreateGeometry().
|
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().
|
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().