ROOT logo
AliRoot » FMD » AliFMDRing

class AliFMDRing: public TNamed

Function Members (Methods)

public:
AliFMDRing(Char_t fId)
virtual~AliFMDRing()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
voidDetector2XYZ(UShort_t sector, UShort_t strip, Double_t& x, Double_t& y, Double_t& z) const
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 voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tGetAlThickness() const
Float_tGetBaseStripLength(UShort_t strip) const
Double_tGetBondingWidth() const
Double_tGetChipThickness() const
Double_tGetCopperThickness() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
const TObjArray&GetFeetPositions() const
Double_tGetFMDDChipThickness() const
Double_tGetFMDDCopperThickness() const
Double_tGetFMDDHighR() const
Double_tGetFMDDLowR() const
Double_tGetFMDDPrintboardThickness() const
TVector2*GetFootPosition(Int_t i) const
Double_tGetFullDepth() const
Double_tGetHighR() const
Double_tGetHoneycombThickness() const
TVector2*GetHybridVertex(Int_t i) const
const TObjArray&GetHybridVerticies() const
virtual const char*TObject::GetIconName() const
Char_tGetId() const
Double_tGetLegLength() const
Double_tGetLegOffset() const
Double_tGetLegRadius() const
Double_tGetLowR() const
Double_tGetMaxR() const
Double_tGetMinR() const
Double_tGetModuleDepth() const
Double_tGetModuleSpacing() const
virtual const char*TNamed::GetName() const
Int_tGetNFeetPositions() const
Int_tGetNModules() const
Int_tGetNSectors() const
Int_tGetNStrips() const
Int_tGetNVerticies() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetPitch() const
Double_tGetPrintboardThickness() const
Double_tGetRingDepth() const
TVector2*GetSensorVertex(Int_t i) const
const TObjArray&GetSensorVerticies() const
Double_tGetSiThickness() const
Double_tGetSpacing() const
Float_tGetStripLength(UShort_t strip) const
Double_tGetStripRadius(UShort_t strip) const
Double_tGetTheta() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
TVector2*GetVertex(Int_t i) const
const TObjArray&GetVerticies() const
Double_tGetWaferRadius() 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 voidInit()
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_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
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)
TNamed&TNamed::operator=(const TNamed& rhs)
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 = "")
voidSetAlThickness(Double_t x = .1)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetBondingWidth(Double_t x = .5)
voidSetChipThickness(Double_t x = .01)
voidSetCopperThickness(Double_t x = .01)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetHighR(Double_t x)
voidSetHoneycombThickness(Double_t x = 0.65)
voidSetId(Char_t x)
voidSetLegLength(Double_t x = .9)
voidSetLegOffset(Double_t x = 2)
voidSetLegRadius(Double_t x = .25)
voidSetLowR(Double_t x)
voidSetModuleSpacing(Double_t x = .5)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNStrips(Int_t x)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPrintboardThickness(Double_t x = .08)
voidSetRingDepth(Double_t x)
voidSetSiThickness(Double_t x = .032)
voidSetSpacing(Double_t x = .05)
voidSetTheta(Double_t x)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetWaferRadius(Double_t x = 13.4/2)
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 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
Bool_tXYZ2Detector(Double_t x, Double_t y, Double_t z, UShort_t& sector, UShort_t& strip) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
Double_tfAlThicknessThickness of aluminium of honeycomb
Double_tfBondingWidthWith of bonding pad on sensor
Double_tfChipThicknessThickness of chip on print board
Double_tfCopperThicknessThickness of Cu on print board
TObjArrayfFeetPositionsList of feet positions
Double_tfHighRUpper radius of ring
Double_tfHoneycombThicknessThickness of honeycomb plate
TObjArrayfHybridVerticiesList of hybrid card verticies
Char_tfIdThe Id of this ring type
Double_tfLegLengthRadius of support legs
Double_tfLegOffsetRadius of support legs
Double_tfLegRadiusRadius of support legs
Double_tfLowRLower radius of ring
Double_tfMaxRUpper radius of active strips
Double_tfMinRLower radius of active strips
Double_tfModuleSpacingStaggering offset
Int_tfNStripsNumber of strips
Double_tfPrintboardThicknessThickness of print board
Double_tfRingDepthHow far the ring extends beyond z
TObjArrayfSensorVerticiesList of physical sensor verticies
Double_tfSiThicknessThickness of sensor
Double_tfSpacingSpacing between si and PCB
Double_tfThetaOpening angle of the silicon wafers
TObjArrayfVerticiesList of active sensor verticies
Double_tfWaferRadiusSize of wafer sensor was made from

Class Charts

Inheritance Chart:
TNamed
AliFMDRing

Function documentation

AliFMDRing(Char_t fId)
 Constructor

 Parameters:
    id      Type of ring (either 'I' or 'O')

Init()
 Initialize

 All derived quantities are calculated here.

GetVertex(Int_t i) const
 Get the i'th vertex of polygon shape

 the polygon shape describes the shape of the rings' sensors

 Parameters:
     i    The vertex number to get (from 0 to 5)
GetSensorVertex(Int_t i) const
 Get the i'th vertex of polygon shape

 the polygon shape describes the shape of the rings' sensors

 Parameters:
     i    The vertex number to get (from 0 to 5)
GetHybridVertex(Int_t i) const
 Get the i'th vertex of polygon shape

 the polygon shape describes the shape of the rings' hybrid cards

 Parameters:
     i    The vertex number to get (from 0 to 5)
GetFootPosition(Int_t i) const
 Get the i'th vertex of polygon shape

 The feet are attached to the hybrid cards

 Parameters:
     i    The foot number to get (from 0 to 2)
GetStripRadius(UShort_t strip) const
 Return the nominal strip radius

 Parameter
   strip    Strip number (0-511 for inners, 0-255 for outers)
GetModuleDepth() const
 Get the total depth of a module (sensor + hybrid card)

 The depth is the sum of

   The silicon thickness
   The thickness of spacers between the silicon and hybrid
   The thickness of the hybrid PCB
   The thickness of the copper layer in the PCB
   The thickness of the chip layer in the PCB
   The height of the legs
GetFullDepth() const
 Get the full depth of this ring, including the honeycomb,
 digitizer and card.
Detector2XYZ(UShort_t sector, UShort_t strip, Double_t& x, Double_t& y, Double_t& z) const
 Translate detector coordinates (this,sector,strip) to global
 coordinates (x,y,z)

 Parameters
    sector        Sector number in this ring
    strip         Strip number in this ring
    x             On return, the global X coordinate
    y             On return, the global Y coordinate
    z             On return, the z coordinate in the ring plane

 The ring plane is the plane half way between the two sensor
 layers.
XYZ2Detector(Double_t x, Double_t y, Double_t z, UShort_t& sector, UShort_t& strip) const
 Translate global coordinates (x,y,z) to detector coordinates
 (this,sector,strip)

  Parameters:
     x       Global x coordinate
     y       Global y coordinate
     z       Global y coordinate
     sector  On return, the sector number in this ring
     strip   On return, the strip number in this ring

GetStripLength(UShort_t strip) const
 Get the length of a strip

 Parameters:
   strip     Strip number (0-511 for inners, 0-255 for outers)

GetBaseStripLength(UShort_t strip) const
 Get the basic strip length

 Parameters:
   strip    Strip number
virtual ~AliFMDRing()
   * DTOR

{}
void SetId(Char_t x)
   *
   * @param x Value of The Id of this ring type

{ fId = x; }
void SetBondingWidth(Double_t x = .5)
   *
   * @param x Value of With of bonding pad on sensor

{ fBondingWidth = x; }
void SetWaferRadius(Double_t x = 13.4/2)
   *
   * @param x Value of Size of wafer the sensor was made from

{ fWaferRadius = x; }
void SetSiThickness(Double_t x = .032)
   *
   * @param x Value of Thickness of sensor

{ fSiThickness = x; }
void SetLowR(Double_t x)
   *
   * @param x Value of Lower radius of ring

{ fLowR = x; }
void SetHighR(Double_t x)
   *
   * @param x Value of Upper radius of ring

{ fHighR = x; }
void SetTheta(Double_t x)
   *
   * @param x Value of Opening angle of the silicon wafers

{ fTheta = x; }
void SetNStrips(Int_t x)
   *
   * @param x Value of Number of strips

{ fNStrips = x; }
void SetRingDepth(Double_t x)
   *
   * @param x Value of How far the ring extends beyond the z value given.

{ fRingDepth = x; }
void SetLegRadius(Double_t x = .25)
   *
   * @param x Value of Radius of support legs

{ fLegRadius = x; }
void SetLegLength(Double_t x = .9)
   *
   * @param x Value of Radius of support legs

{ fLegLength = x; }
void SetLegOffset(Double_t x = 2)
   *
   * @param x Value of Radius of support legs

{ fLegOffset = x; }
void SetModuleSpacing(Double_t x = .5)
   *
   * @param x Value of Staggering offset

void SetPrintboardThickness(Double_t x = .08)
   *
   * @param x Value of Thickness of print board

void SetCopperThickness(Double_t x = .01)
   *
   * @param x Value of Thickness of copper on print board

void SetChipThickness(Double_t x = .01)
   *
   * @param x Value of Thickness of chip on print board

void SetSpacing(Double_t x = .05)
   *
   * @param x Value of spacing between si and PCB

{ fSpacing = x; }
void SetHoneycombThickness(Double_t x = 0.65)
   *
   * @param x Thickness of honeycomb plate

void SetAlThickness(Double_t x = .1)
   *
   * @param x Thickness of aluminium of honeycomb

{ fAlThickness = x; }
Char_t GetId() const
   *
   * @return The Id of this ring type

{ return fId; }
Double_t GetBondingWidth() const
   *
   * @return With of bonding pad on sensor

{ return fBondingWidth; }
Double_t GetWaferRadius() const
   *
   * @return Size of wafer the sensor was made from

{ return fWaferRadius; }
Double_t GetSiThickness() const
   *
   * @return Thickness of sensor

{ return fSiThickness; }
Double_t GetMinR() const
   *
   * @return Minimum r for an active strip

{ return fMinR; }
Double_t GetMaxR() const
   *
   * @return Maximum r for an active strip

{ return fMaxR; }
Double_t GetLowR() const
   *
   * @return Lower radius of ring

{ return fLowR; }
Double_t GetHighR() const
   *
   * @return Upper radius of ring

{ return fHighR; }
Double_t GetTheta() const
   *
   * @return Opening angle of the sector (half that of silicon wafers)

{ return fTheta; }
Int_t GetNStrips() const
   *
   * @return Number of strips

{ return fNStrips; }
Int_t GetNSectors() const
   *
   * @return Number of sectors

{ return Int_t(360. / fTheta); }
Int_t GetNModules() const
   *
   * @return Number of modules (2 sectors per module)

{ return GetNSectors() / 2; }
Double_t GetRingDepth() const
   *
   * @return How far the ring extends beyond the z value given.

{ return fRingDepth; }
Double_t GetLegRadius() const
   *
   * @return Radius of support legs

{ return fLegRadius; }
Double_t GetLegLength() const
   *
   * @return Radius of support legs

{ return fLegLength; }
Double_t GetLegOffset() const
   *
   * @return Radius of support legs

{ return fLegOffset; }
Double_t GetModuleSpacing() const
   *
   * @return Staggering offset

{ return fModuleSpacing; }
Double_t GetPrintboardThickness() const
   *
   * @return Thickness of print board

Double_t GetCopperThickness() const
   *
   * @return Thickness copper of print board

{ return fCopperThickness; }
Double_t GetChipThickness() const
   *
   * @return Thickness chip of print board

{ return fChipThickness; }
Double_t GetSpacing() const
   *
   * @return Value of spacing between si and PCB

{ return fSpacing; }
Double_t GetHoneycombThickness() const
   *
   * @return Thickness of honeycomb plate

Double_t GetAlThickness() const
   *
   * @return Thickness of aluminium of honeycomb

{ return fAlThickness; }
Double_t GetPitch() const
   *
   * @return The strip pitch

{ return (fMaxR - fMinR) / fNStrips; }
Double_t GetFMDDLowR() const
   * Get the inner radius of the digitizer cards
   *
   * @return The inner radius of the digitizer cards

{ return 1.2*GetLowR(); }
Double_t GetFMDDHighR() const
   * Get the outer radius of the digitizer cards
   *
   * @return The outer radius of the digitizer cards

{ return .95*GetHighR(); }
Double_t GetFMDDPrintboardThickness() const
   *
   * @return Thickness of print board

{ return 2*fPrintboardThickness; }
Double_t GetFMDDCopperThickness() const
   *
   * @return Thickness copper of print board

{ return 2*fCopperThickness; }
Double_t GetFMDDChipThickness() const
   *
   * @return Thickness chip of print board

{ return 2*fChipThickness; }
const TObjArray& GetVerticies() const
   *
   * @return List of verticies

{ return fVerticies; }
Int_t GetNVerticies() const
   *
   * @return Number of verticies

{ return fVerticies.GetEntries(); }
const TObjArray& GetSensorVerticies() const
   *
   * @return List of verticies

{ return fSensorVerticies; }
const TObjArray& GetHybridVerticies() const
   *
   * @return List of verticies

{ return fHybridVerticies; }
const TObjArray& GetFeetPositions() const
   * Get a list of feet positions
   *
   *
   * @return List TVector2 of feet positions on hybrid card

{ return fFeetPositions; }
Int_t GetNFeetPositions() const
   * Get the number of feet positions
   *
   *
   * @return Number of feet positions

{ return fFeetPositions.GetEntries(); }