ROOT logo
AliRoot » ITS » AliITSv11GeomCableFlat

class AliITSv11GeomCableFlat: public AliITSv11GeomCable

   Class for flat cables

 Ludovic Gaudichet                                   gaudichet@to.infn.it

Function Members (Methods)

public:
AliITSv11GeomCableFlat()
AliITSv11GeomCableFlat(const char* name, Double_t width, Double_t thick)
virtual~AliITSv11GeomCableFlat()
voidTObject::AbstractMethod(const char* method) const
voidAddCheckPoint(TGeoVolume* vol, Int_t iCheckPt, Double_t* coord, Double_t* orthVect)
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
TGeoVolume*CreateAndInsertBoxCableSegment(Int_t p2, Double_t rotation = 0, TGeoCombiTrans** ct = 0)
TGeoVolume*CreateAndInsertCableCylSegment(Int_t p2, Double_t rotation = 0, TGeoCombiTrans** ct = 0)
TGeoVolume*CreateAndInsertCableSegment(Int_t p2, Double_t rotation = 0, TGeoCombiTrans** ct = 0)
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 voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Int_tAliITSv11GeomCable::GetCheckPoint(Int_t iCheckPt, Int_t nOccur, Int_t motherLevel, Double_t* coord)
virtual Int_tAliITSv11GeomCable::GetCheckVect(Int_t iCheckPt, Int_t nOccur, Int_t motherLevel, Double_t* coord)
virtual Int_tAliITSv11GeomCable::GetCheckVect(const Double_t* localCoord, TGeoVolume* vol, Int_t nOccur, Int_t motherLevel, Double_t* coord)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual Int_tAliITSv11GeomCable::GetNCheckPoints() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Int_tGetPoint(Int_t iCheckPt, Double_t* coord) const
Double_tGetThickness() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Int_tGetVect(Int_t iCheckPt, Double_t* coord) const
virtual TGeoVolume*AliITSv11GeomCable::GetVolume(Int_t iCheckPt) const
Double_tGetWidth() 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
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)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidPrintCheckPoints() const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
voidAliITSv11GeomCable::ResetInitialNode()
voidAliITSv11GeomCable::ResetPoints()
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)
voidAliITSv11GeomCable::SetDebug(Int_t debug = 1)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidAliITSv11GeomCable::SetInitialNode(TGeoVolume* vol)
Int_tSetLayer(Int_t nLayer, Double_t thick, TGeoMedium* medium, Int_t color = 0)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNLayers(Int_t nLayers)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetThickness(Double_t thick)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetWidth(Double_t width)
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
protected:
boolAliITSv11GeomCable::CheckDaughter(const TGeoNode* node, Int_t i = 0)
voidAliITSv11GeomCable::CopyFrom(Double_t* c, const Double_t* o) const
TGeoVolume*CreateBoxSegment(const Double_t* coord1, const Double_t* coord2)
TGeoVolume*CreateCylSegment(const Double_t& phi, const Double_t& r)
TGeoVolume*CreateSegment(const Double_t* coord1, const Double_t* coord2, const Double_t* localVect1, const Double_t* localVect2)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
voidAliITSv11GeomCable::ResetCheckDaughter()
Double_tAliITSv11GeomCable::ScalProd(const Double_t* a, const Double_t* b) const

Data Members

protected:
TGeoVolume*AliITSv11GeomCable::fCurrentVolvolume to search in the node tree
Int_tAliITSv11GeomCable::fDebugdebug flag
TGeoNode*AliITSv11GeomCable::fInitialNodeinitial node to start searching
Int_tfLayColor[15]layer colors
TGeoMedium*fLayMedia[15]layer media
Double_tfLayThickness[15]layer thicknesses
TStringTNamed::fNameobject identifier
Int_tfNlayernumber of layers
Int_tAliITSv11GeomCable::fNodeInd[50]index of nodes in the node tree
TObjArrayAliITSv11GeomCable::fPointArrayarray of points
Double_tfPreviousX[3]used internally
Double_tfThicktotal thickness
TStringTNamed::fTitleobject title
TGeoTranslation*fTranslation[15]layer translations
TObjArrayAliITSv11GeomCable::fVolumeArrayvolumes containing the points
Double_tfWidthwidth
static const Int_tAliITSv11GeomCable::fgkCableMaxLayermax. number of layers
static const Int_tAliITSv11GeomCable::fgkCableMaxNodeLevelmax. number of levels

Class Charts

Inheritance Chart:
TNamed
AliITSv11GeomCable
AliITSv11GeomCableFlat

Function documentation

AliITSv11GeomCableFlat()
 constructor
Int_t GetPoint( Int_t iCheckPt, Double_t *coord)
 Get the correct point #iCheckPt
Int_t GetVect( Int_t iCheckPt, Double_t *coord)
 Get the correct vect corresponding to point #iCheckPt
void AddCheckPoint(TGeoVolume* vol, Int_t iCheckPt, Double_t* coord, Double_t* orthVect)
 Add a check point. In the fPointArray, the point is at i and its vector
 is at i+1.

void PrintCheckPoints() const
 print all check points of the cable
TGeoVolume* CreateAndInsertCableSegment(Int_t p2, Double_t rotation = 0, TGeoCombiTrans** ct = 0)
    Creates a cable segment between points p1 and p2.
    Rotation is the eventual rotation of the flat cable
    along its length axis

 The segment volume is created inside the volume containing point2
 Therefore this segment should be defined in this volume only.
 I mean here that, if the previous point is in another volume,
 it should be just at the border between the 2 volumes. Also the
 orientation vector of the previous point should be orthogonal to
 the surface between the 2 volumes.
TGeoVolume* CreateAndInsertBoxCableSegment(Int_t p2, Double_t rotation = 0, TGeoCombiTrans** ct = 0)
 This function is to be use only when the segment has the shape
 of a simple box, i.e. the normal vector to its end is perpendicular
 to the segment own axis
    Creates a cable segment between points p1 and p2.
    Rotation is the eventual rotation of the flat cable
    along its length axis

 The segment volume is created inside the volume containing point2
 Therefore this segment should be defined in this volume only.
 I mean here that, if the previous point is in another volume,
 it should be just at the border between the 2 volumes. Also the
 orientation vector of the previous point should be orthogonal to
 the surface between the 2 volumes.
TGeoVolume* CreateAndInsertCableCylSegment(Int_t p2, Double_t rotation = 0, TGeoCombiTrans** ct = 0)
 Create a flat cable segment with a curvature between points p1 and p2.
 The radius and position of the curve is defined by the
 perpendicular vector of point p2 (the orientation of this vector
 and the position of the 2 check points are enough to completely
 define the curve)
    Rotation is the eventual rotation of the flat cable
    along its length axis

TGeoVolume * CreateSegment(const Double_t* coord1, const Double_t* coord2, const Double_t* localVect1, const Double_t* localVect2)
 Create a segment with arbitrary vertices (general case)

 Calculate segment "deformation"
TGeoVolume * CreateCylSegment(const Double_t& phi, const Double_t& r)
 Create a segment in shape of a cylinder, allows to represent
 a folded flat cable
TGeoVolume * CreateBoxSegment(const Double_t* coord1, const Double_t* coord2)
 Create a segment for the case it is a simple box

void SetNLayers(Int_t nLayers)
 Set the number of layers
Int_t SetLayer(Int_t nLayer, Double_t thick, TGeoMedium* medium, Int_t color = 0)
 Set the layer number nLayer
AliITSv11GeomCableFlat()
AliITSv11GeomCableFlat(const char* name, Double_t width, Double_t thick)
virtual ~AliITSv11GeomCableFlat()
{}
void SetWidth(Double_t width)
{ fWidth = width;}
void SetThickness(Double_t thick)
{fThick = thick;}
Double_t GetWidth() const
{return fWidth;}
Double_t GetThickness() const
{return fThick;}
AliITSv11GeomCableFlat& operator=(const AliITSv11GeomCableFlat& source)