ROOT logo
AliRoot » FMD » AliFMDGeometryBuilder

class AliFMDGeometryBuilder: public TTask

Function Members (Methods)

public:
AliFMDGeometryBuilder()
AliFMDGeometryBuilder(Bool_t detailed)
virtual~AliFMDGeometryBuilder()
virtual voidTTask::Abort()MENU
voidTObject::AbstractMethod(const char* method) const
virtual voidTTask::Add(TTask* task)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTTask::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTTask::CleanTasks()
virtual voidTTask::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTTask::Continue()MENU
virtual voidTNamed::Copy(TObject& named) const
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 voidExec(Option_t* option = "")
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 voidTTask::ExecuteTask(Option_t* option = "0")MENU
virtual voidTTask::ExecuteTasks(Option_t* option)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Int_tTTask::GetBreakin() const
Int_tTTask::GetBreakout() const
Int_tGetDetectorOff() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
TList*TTask::GetListOfTasks() const
Int_tGetModuleOff() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Int_tGetRingOff() const
Int_tGetSectorOff() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::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
Bool_tTTask::IsActive() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTTask::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTTask::ls(Option_t* option = "*") constMENU
voidTObject::MayNotUse(const char* method) 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 voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
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 = "")
voidTTask::SetActive(Bool_t active = kTRUE)TOGGLE
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTTask::SetBreakin(Int_t breakin = 1)TOGGLE
voidTTask::SetBreakout(Int_t breakout = 1)TOGGLE
virtual voidSetDetailed(Bool_t use)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
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
virtual voidUseAssembly(Bool_t use = kTRUE)
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:
AliFMDGeometryBuilder(const AliFMDGeometryBuilder& o)
virtual TGeoVolume*DetectorGeometry(const AliFMDDetector* d, TGeoVolume* motherTop, TGeoVolume* motherBot, Double_t zmother, TGeoVolume* innerTop, TGeoVolume* innerBot, TGeoVolume* outerTop = 0, TGeoVolume* outerBot = 0)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual TGeoVolume*FMD1Geometry(const AliFMD1* d, TGeoVolume* innerTop, TGeoVolume* innerBot)
virtual TGeoVolume*FMD2Geometry(const AliFMD2* d, TGeoVolume* innerTop, TGeoVolume* innerBot, TGeoVolume* outerTop, TGeoVolume* outerBot)
virtual TGeoVolume*FMD3Geometry(const AliFMD3* d, TGeoVolume* innerTop, TGeoVolume* innerBot, TGeoVolume* outerTop, TGeoVolume* outerBot)
virtual TGeoShape*HoneycombShape(Int_t id, Char_t ring, double r1, double r2, double w, double t, double c = 0.3)
virtual TGeoShape*MakeXTRU(const TObjArray& verticies, Double_t thick) const
voidTObject::MakeZombie()
AliFMDGeometryBuilder&operator=(const AliFMDGeometryBuilder&)
virtual TGeoVolume*RingGeometry(const AliFMDRing* r)
virtual TGeoVolume*TensionBox()

Data Members

protected:
Bool_tTTask::fActivetrue if task is active
TArrayIfActiveId! Active volume ID's
TGeoMedium*fAir! Air Medium
TGeoMedium*fAl! Al Medium
Int_tTTask::fBreakin=1 if a break point set at task extry
Int_tTTask::fBreakout=1 if a break point set at task exit
TGeoMedium*fC! C Medium
TGeoMedium*fChip! Chip Medium
TGeoMedium*fCopper! Copper Medium
Bool_tfDetailedWhether to make a detailed simulation
Int_tfDetectorOffDetector offfset in the volume tree
Bool_tTTask::fHasExecutedTrue if task has executed
Int_tfModuleOffModule offset in volume tree
TStringTNamed::fNameobject identifier
TStringTTask::fOptionOption specified in ExecuteTask
TGeoMedium*fPCB! PCB Medium
TGeoMedium*fPlastic! Plastic Medium
Int_tfRingOffRing offset in the volume tree
Int_tfSectorOffSector offset in volume tree
TGeoMedium*fSi! Si Medium
TGeoMedium*fSteel! Steel Medium
TList*TTask::fTasksList of Tasks
TStringTNamed::fTitleobject title
Bool_tfUseAssemblyAssembly volumes
static TTask*TTask::fgBeginTaskpointer to task initiator
static TTask*TTask::fgBreakPointpointer to current break point
static const Char_t*fgkActiveNameName of Active volumes
static const Char_t*fgkBackNameName of Back volumes
static const Char_t*fgkBackVNameName of Back volumes
static const Char_t*fgkBeamNameName of Beam volumes
static const Char_t*fgkChipNameName of chip volumes
static const Char_t*fgkCuNameName of copper volumes
static const Char_t*fgkFMDDChipNameName of FMDD chip volumes
static const Char_t*fgkFMDDCuNameName of FMDD copper volumes
static const Char_t*fgkFMDDNameName of FMDD volumes
static const Char_t*fgkFMDDPCBNameName of FMDD PCB volumes
static const Char_t*fgkFMDNameName of Half FMD volumes
static const Char_t*fgkFlangeNameName of Flange volumes
static const Char_t*fgkFrontVNameName of Front volumes
static const Char_t*fgkHCNameName of Honeycomb volumes
static const Char_t*fgkIHCNameName of Inner honeycomb volumes
static const Char_t*fgkLongLegNameName of LongLeg volumes
static const Char_t*fgkNoseNameName of Nose volumes
static const Char_t*fgkPCBNameName of PCB volumes
static const Char_t*fgkRingBotNameName of Bottom ring volumes
static const Char_t*fgkRingTopNameName of Top ring volumes
static const Char_t*fgkSectorNameName of Sector volumes
static const Char_t*fgkSensorNameName of Sensor volumes
static const Char_t*fgkShortLegNameName of ShortLeg volumes
static const Char_t*fgkStripNameName of Strip volumes
static const Char_t*fgkTopNameName of Back volumes

Class Charts

Inheritance Chart:
TTask
AliFMDGeometryBuilder

Function documentation

AliFMDGeometryBuilder()
 Default constructor
AliFMDGeometryBuilder(Bool_t detailed)
 Normal constructor

 Parameters:

      fmd		Pointer to AliFMD object
      detailed      Whether to make a detailed simulation or not

MakeXTRU(const TObjArray& verticies, Double_t thick) const
 Make a polygonic extrusion shape based on verticies passed in @a
 verticies

 Parameters:
    verticies List of verticies
    thick     Thickness

 Return:
    newly allocated polygonic extrusion shape

RingGeometry(const AliFMDRing* r)
 Setup the geometry of a ring.    The defined TGeoVolume is
 returned, and should be used when setting up the rest of the
 volumes.


 Parameters:

     r		Pointer to ring geometry object

 Returns:
    pointer to ring volume

HoneycombShape(Int_t id, Char_t ring, double r1, double r2, double w, double t, double c = 0.3)
 Make a honey comb shape from passed parameters.
 Parameters:
   id	Detector identifier (1,2, or 3)
   ring	Ring identifier ('I' or 'O')
   r1       Inner radius
   r2       Outer radius
   w        width
   t        Thickness of material
   c        Clearing from horizontal.
 Return
   Pointer to newly allocated composite shape.
TensionBox()
 Get the tension box volume


 Return:


DetectorGeometry(const AliFMDDetector* d, TGeoVolume* motherTop, TGeoVolume* motherBot, Double_t zmother, TGeoVolume* innerTop, TGeoVolume* innerBot, TGeoVolume* outerTop = 0, TGeoVolume* outerBot = 0)
 Common stuff for setting up the FMD1, FMD2, and FMD3 geometries.
 This includes putting the Honeycomb support plates and the rings
 into the mother volumes.

 Parameeters:
	d	  The detector geometry to use
	mother	  The mother volume of the detector
    zmother	  The midpoint in global coordinates of detector vol.
	inner	  Pointer to inner ring volume
    outer	  Pointer to outer ring volume

 Returns:
    Pointer to mother (detector volume)

FMD1Geometry(const AliFMD1* d, TGeoVolume* innerTop, TGeoVolume* innerBot)
 Setup the FMD1 geometry.  The FMD1 only has one ring, and no
 special support as it is at the momement.

 See also AliFMDGeometryBuilder::DetectorGeometry

FMD2Geometry(const AliFMD2* d, TGeoVolume* innerTop, TGeoVolume* innerBot, TGeoVolume* outerTop, TGeoVolume* outerBot)
 Setup the FMD2 geometry.  The FMD2 has no
 special support as it is at the momement.

 See also AliFMDGeometryBuilder::DetectorGeometry

FMD3Geometry(const AliFMD3* d, TGeoVolume* innerTop, TGeoVolume* innerBot, TGeoVolume* outerTop, TGeoVolume* outerBot)
 Setup the FMD3 geometry.  The FMD2 has a rather elaborate support
 structure, as the support will also support the vacuum
 beam-pipe.

 See also AliFMDGeometryBuilder::DetectorGeometry

Exec(Option_t* option = "")
 Setup up the FMD geometry.
AliFMDGeometryBuilder()
 CTOR 
virtual ~AliFMDGeometryBuilder()
 Register 
{}
void UseAssembly(Bool_t use = kTRUE)
 @param use Wheher to assemblies in the geometry definition 
{ fUseAssembly = use; }
void SetDetailed(Bool_t use)
 Whether to make a detailed geometry or not.
@param use If true, make a detailed geometry 
{ fDetailed = use; }
Int_t GetSectorOff() const
 @return Sector offset in volume tree  
{ return fSectorOff; }
Int_t GetModuleOff() const
 @return Module offset in volume tree 
{ return fModuleOff; }
Int_t GetRingOff() const
 @return Ring offset in the volume tree  
{ return fRingOff; }
Int_t GetDetectorOff() const
 @return Detector offfset in the volume tree  
{ return fDetectorOff; }
AliFMDGeometryBuilder& operator=(const AliFMDGeometryBuilder& )
   * Assignment operator
   *
   * @return Reference to this object

{return *this;}