ROOT logo
AliRoot » MUON » AliMUONSt1GeometryBuilderV2

class AliMUONSt1GeometryBuilderV2: public AliMUONVGeometryBuilder

Function Members (Methods)

public:
AliMUONSt1GeometryBuilderV2()
AliMUONSt1GeometryBuilderV2(AliMUON* muon)
virtual~AliMUONSt1GeometryBuilderV2()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual boolAliMUONVGeometryBuilder::ApplyGlobalTransformation()
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidCreateGeometry()
virtual voidCreateMaterials()
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
AliMUONGeometryModule*AliMUONVGeometryBuilder::Geometry(Int_t i) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
Int_tAliMUONVGeometryBuilder::NofGeometries() const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
voidAliMUONVGeometryBuilder::RebuildSVMaps(Bool_t withEnvelopes = true) const
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidAliMUONVGeometryBuilder::SetReferenceFrame(const TGeoCombiTrans& referenceFrame)
virtual voidSetSensitiveVolumes()
virtual voidSetTransformations()
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidSetVolumes()
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidAliMUONVGeometryBuilder::UpdateDetElements(Bool_t create) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
AliMUONGeometryEnvelopeStore*AliMUONVGeometryBuilder::GetEnvelopes(Int_t moduleId) const
AliMUONGeometryModule*AliMUONVGeometryBuilder::GetGeometry(Int_t moduleId) const
Int_tAliMUONVGeometryBuilder::GetModuleId(const TString& envName) const
AliMUONStringIntMap*AliMUONVGeometryBuilder::GetSVMap(Int_t moduleId) const
voidTObject::MakeZombie()
voidAliMUONVGeometryBuilder::SetMotherVolume(Int_t moduleId, const TString& volumeName)
voidAliMUONVGeometryBuilder::SetTransformation(Int_t moduleId, const TGeoTranslation& translation, const TGeoRotation& rotation)
voidAliMUONVGeometryBuilder::SetTranslation(Int_t moduleId, const TGeoTranslation& translation)
voidAliMUONVGeometryBuilder::SetVolume(Int_t moduleId, const TString& volumeName, Bool_t isVirtual = false)
private:
AliMUONSt1GeometryBuilderV2(const AliMUONSt1GeometryBuilderV2& rMUON)
voidCreateDaughterBoard()
voidCreateFoamBox(Int_t segNumber, const TVector2& dimensions)
voidCreateFrame(Int_t chamber)
voidCreateHole()
voidCreateInnerLayers()
voidCreatePlaneSegment(Int_t segNumber, const TVector2& dimensions, Int_t nofHoles)
voidCreateQuadrant(Int_t chamber)
voidCreateQuadrantLayersAsAssemblies(Int_t chamber)
voidCreateQuadrantLayersAsVolumes(Int_t chamber)
voidCreateSpacer()
voidCreateSpacer0()
TStringFoamBoxName(Int_t segNumber) const
TStringFR4BoxName(Int_t segNumber) const
TStringGasVolumeName(const TString& name, Int_t chamber) const
AliMUONSt1GeometryBuilderV2&operator=(const AliMUONSt1GeometryBuilderV2& rhs)
voidPlaceInnerLayers(Int_t chamber)
voidPlaceSector(const AliMpSector* sector, TExMap specialMap, const TVector3& where, Bool_t reflectZ, Int_t chamber)
voidPlaceSpacer0(Int_t chamber)
TStringPlaneSegmentName(Int_t segNumber) const
TStringQuadrantEnvelopeName(Int_t chamber, Int_t quadrant) const
TStringQuadrantFLayerName(Int_t chamber) const
TStringQuadrantMFLayerName(Int_t chamber) const
TStringQuadrantMLayerName(Int_t chamber) const
TStringQuadrantNLayerName(Int_t chamber) const
doubleTotalHz() const
doubleTotalHzDaughter() const
doubleTotalHzPlane() const

Data Members

private:
AliMUON*fMUON/< the MUON detector class
static const Int_tfgkDaughterCopyNoOffset/< \brief copy number offset for daughter
static const char*fgkDaughterName/< prefix for automatic volume naming
static const doublefgkDeltaFilleEtamX/< Electronics parameter
static const doublefgkDeltaFilleEtamY/< Electronics parameter
static const doublefgkDeltaQuadLHC/< LHC Origin wrt Quadrant Origin
static const Int_tfgkFR4BoxNameOffset/< coefficient for automatic volume naming
static const Int_tfgkFoamBoxNameOffset/< coefficient for automatic volume naming
static const doublefgkFrameOffset/< Frame offset
static const char*fgkHoleName/< prefix for automatic volume naming
static const doublefgkHxBergCopper/< Berg connector parameter
static const doublefgkHxBergPlastic/< Berg connector parameter
static const doublefgkHxDaughter/< Electronics parameter
static const doublefgkHxHole/< foam hole paremeter
static const doublefgkHxKapton/< Kapton parameter
static const doublefgkHyBergCopper/< Berg connector parameter
static const doublefgkHyBergPlastic/< Berg connector parameter
static const doublefgkHyDaughter/< Electronics parameter
static const doublefgkHyHole/< foam hole paremeter
static const doublefgkHyKapton/< Kapton parameter
static const doublefgkHzBergCopper/< Berg connector (80 pt)
static const doublefgkHzBergPlastic/< Berg connector
static const doublefgkHzDaughter/< Daughter board
static const doublefgkHzFR4/< FR4 of mechanical plane
static const doublefgkHzFoam/< Foam of mechanicalplane
static const doublefgkHzGas/< ArCO2 Gas
static const doublefgkHzKapton/< Kapton
static const doublefgkHzPadPlane/< Pad plane
static const doublefgkHzSnPb/< Pad/Kapton connection (66 pt)
static const doublefgkMotherIR1/< Middle Layer Rin
static const doublefgkMotherIR2/< Near and Far Layer Rin
static const doublefgkMotherOR1/< Middle Layer Rout
static const doublefgkMotherOR2/< Near and Far Layer Rout
static const doublefgkMotherPhiL1/< Middle Layer Sphi
static const doublefgkMotherPhiL2/< Near and Far Layer Sphi
static const doublefgkMotherPhiU1/< Middle Layer Endphi
static const doublefgkMotherPhiU2/< Near and Far Layer Endphi
static const doublefgkMotherThick1/< Middle Layer Hz
static const doublefgkMotherThick2/< Near and Far Layer Hz
static const doublefgkOffsetX/< Offset X
static const doublefgkOffsetY/< Offset Y
static const doublefgkPadXOffsetBP/< Horizontal offset in bending plane
static const doublefgkPadYOffsetBP/< Vertical offset in bending plane
static const char*fgkQuadrantEnvelopeName/< prefix for automatic volume naming
static const char*fgkQuadrantFLayerName/< prefix for automatic volume naming
static const char*fgkQuadrantMFLayerName/< prefix for automatic volume naming
static const char*fgkQuadrantMLayerName/< prefix for automatic volume naming
static const char*fgkQuadrantNLayerName/< prefix for automatic volume naming

Class Charts

Inheritance Chart:
TObject
AliMUONVGeometryBuilder
AliMUONSt1GeometryBuilderV2

Function documentation

AliMUONSt1GeometryBuilderV2(AliMUON* muon)
 Standard constructor
AliMUONSt1GeometryBuilderV2()
 Default Constructor
~AliMUONSt1GeometryBuilderV2()
 Destructor
QuadrantEnvelopeName(Int_t chamber, Int_t quadrant) const
 Generate unique envelope name from chamber Id and quadrant number
void CreateHole()
 Create all the elements found inside a foam hole
void CreateDaughterBoard()
 Create all the elements in a daughter board
void CreateInnerLayers()
 Create the layer of sensitive volumes with gas
 and the copper layer.
 The shape of the sensitive area is defined as an extruded
 solid substracted with tube (to get inner circular shape).
void CreateSpacer0()
 The spacer volumes are defined according to the input prepared by Nicole Willis
 without any modifications
                                                                       <pre>
 No.    Type  Material Center (mm)            Dimensions (mm) (half lengths)
  5     BOX   EPOXY    408.2  430.4 522.41    5.75  1.5   25.5
  5P    BOX   EPOXY    408.2  445.4 522.41    5.75  1.5   25.5
  6     BOX   EPOXY    408.2  437.9 519.76    5.75  15.0   1.0
  6P    BOX   EPOXY    408.2  437.9 525.06    5.75  15.0   1.0
  7     CYL   INOX     408.2  437.9 522.41    r=3.0  hz=20.63
                                                                      </pre>
void CreateSpacer()
 The spacer volumes are defined according to the input prepared by Nicole Willis
 with modifications needed to fit into existing geometry.
                                                                       <pre>
 No.    Type  Material Center (mm)            Dimensions (mm) (half lengths)
  5     BOX   EPOXY    408.2  430.4 522.41    5.75  1.5   25.5
  5P    BOX   EPOXY    408.2  445.4 522.41    5.75  1.5   25.5
  6     BOX   EPOXY    408.2  437.9 519.76    5.75  15.0   1.0
  6P    BOX   EPOXY    408.2  437.9 525.06    5.75  15.0   1.0
  7     CYL   INOX     408.2  437.9 522.41    r=3.0  hz=20.63
                                                                      </pre>
 To fit in existing volumes the volumes 5 and 7 are represented by 2 volumes
 with half size in z (5A, &A); the dimensions of the volume 5A were also modified
 to avoid overlaps (x made smaller, y larger to abotain the identical volume)
void CreateQuadrant(Int_t chamber)
 Create the quadrant (bending and non-bending planes)
 for the given chamber
void CreateFoamBox(Int_t segNumber, const TVector2& dimensions)
 Create all the elements in the copper plane
void CreatePlaneSegment(Int_t segNumber, const TVector2& dimensions, Int_t nofHoles)
 Create a segment of a plane (this includes a foam layer,
 holes in the foam to feed the kaptons through, kapton connectors
 and the mother board.)
void CreateQuadrantLayersAsVolumes(Int_t chamber)
 Create the three main layers as real volumes.
 Not used anymore.
void CreateQuadrantLayersAsAssemblies(Int_t chamber)
 Create the three main layers as assemblies
void CreateFrame(Int_t chamber)
 Create the non-sensitive elements of the frame for the \a chamber

 Model and notation:                                                     \n
                                                                         \n
 The Quadrant volume name starts with SQ                                 \n
 The volume segments are numbered 00 to XX                               \n
                                                                         \n
                              OutTopFrame                                \n
                               (SQ02-16)                                 \n
                              ------------                               \n
             OutEdgeFrame   /              |                             \n
             (SQ17-24)     /               |  InVFrame (SQ00-01)         \n
                          /                |                             \n
                          |                |                             \n
               OutVFrame  |            _- -                              \n
               (SQ25-39)  |           |   InArcFrame (SQ42-45)           \n
                          |           |                                  \n
                          -------------                                  \n
                        InHFrame (SQ40-41)                               \n
                                                                         \n
                                                                         \n
 06 February 2003 - Overlapping volumes resolved.                        \n
 One quarter chamber is comprised of three TUBS volumes: SQMx, SQNx, and SQFx,
 where SQMx is the Quadrant Middle layer for chamber \a chamber ( posZ in [-3.25,3.25]),
 SQNx is the Quadrant Near side layer for chamber \a chamber ( posZ in [-6.25,3-.25) ), and
 SQFx is the Quadrant Far side layer for chamber \a chamber ( posZ in (3.25,6.25] ).
void PlaceInnerLayers(Int_t chamber)
 Place the gas and copper layers for the specified chamber.
void PlaceSpacer0(Int_t chamber)
 Place the spacer defined in global positions
 !! This method should be used only to find out the right mother volume
 for the spacer if geometry is changed and the plane segment volumes
 will change their numbering
void PlaceSector(const AliMpSector* sector, TExMap specialMap, const TVector3& where, Bool_t reflectZ, Int_t chamber)
 Place all the segments in the mother volume, at the position defined
 by the sector's data.                                                      \n
 The lines with comments COMMENT OUT BEGIN/END indicates blocks
 which can be commented out in order to reduce the number of volumes
 in a sector to the plane segments corresponding to regular motifs only.
TString GasVolumeName(const TString& name, Int_t chamber) const
 Insert the chamber number into the name.
void CreateMaterials()
 Define materials specific to station 1
void CreateGeometry()
 Create the detailed GEANT geometry for the dimuon arm station1
void SetVolumes()
 Define the volumes for the station2 chambers.
void SetTransformations()
 Define the transformations for the station2 chambers.
void SetSensitiveVolumes()
 Define the sensitive volumes for station2 chambers.
GReal_t TotalHzPlane() const
 Return total mechanical plane half Size
{ return fgkHzFoam + fgkHzFR4; }
GReal_t TotalHzDaughter() const
 Return total daughter plane half Size
GReal_t TotalHz() const
 Return total plane half Size
{ return TotalHzPlane() + TotalHzDaughter(); }
TString QuadrantMLayerName(Int_t chamber) const
 Return middle quadrant layer name for chamber \a chamber
{ return Form("%s%d",fgkQuadrantMLayerName,chamber); }
TString QuadrantMFLayerName(Int_t chamber) const
 Return middle quadrant frame layer name for chamber \a chamber
{ return Form("%s%d",fgkQuadrantMFLayerName,chamber); }
TString QuadrantNLayerName(Int_t chamber) const
 Return nearer quadrant layer name for chamber \a chamber
{ return Form("%s%d",fgkQuadrantNLayerName,chamber); }
TString QuadrantFLayerName(Int_t chamber) const
 Return farther quadrant layer name for chamber \a chamber
{ return Form("%s%d",fgkQuadrantFLayerName,chamber); }
TString PlaneSegmentName(Int_t segNumber) const
 Return plane segment name for segment \a segNumber
{ return Form("S%.3d", segNumber); }
TString FoamBoxName(Int_t segNumber) const
 Return foam box name for segment \a segNumber
{ return Form("S%.3d", segNumber + fgkFoamBoxNameOffset); }
TString FR4BoxName(Int_t segNumber) const
 Return FR4 box name for segment \a segNumber
{ return Form("S%.3d", segNumber + fgkFR4BoxNameOffset); }
AliMUONSt1GeometryBuilderV2(AliMUON* muon)