ROOT logo
AliRoot » ITS » AliITSgeomMatrix

class AliITSgeomMatrix: public TObject

Function Members (Methods)

public:
AliITSgeomMatrix()
AliITSgeomMatrix(const AliITSgeomMatrix& source)
AliITSgeomMatrix(Int_t idt, const Int_t* id, const Double_t* rot, const Double_t* tran)
AliITSgeomMatrix(Int_t idt, const Int_t* id, Double_t** matrix, const Double_t* tran)
AliITSgeomMatrix(const Double_t* rotd, Int_t idt, const Int_t* id, const Double_t* tran)
virtual~AliITSgeomMatrix()
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 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
TPolyLine3D*CreateLocalAxis() const
TPolyLine3D*CreateLocalAxisTracking() const
TNode*CreateNode(const Char_t* nodeName, const Char_t* nodeTitle, TNode* mother, TShape* shape, Bool_t axis = kTRUE) const
virtual voidTObject::Delete(Option_t* option = "")MENU
Double_tDistance2(const Double_t* t) 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 TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidGetAngles(Double_t* rot) const
Int_tGetDetectorIndex() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
voidGetGlobalNormal(Double_t& nx, Double_t& ny, Double_t& nz) const
virtual const char*TObject::GetIconName() const
voidGetIndex(Int_t* id) const
voidGetMatrix(Double_t** matrix) 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
TString&GetPath()
virtual const char*TObject::GetTitle() const
voidGetTranslation(Double_t* tran) const
voidGetTranslationCylinderical(Double_t* tran) const
virtual UInt_tTObject::GetUniqueID() const
voidGtoLMomentum(const Double_t* g, Double_t* l) const
voidGtoLMomentumTracking(const Double_t* g, Double_t* l) const
voidGtoLPosition(const Double_t* g, Double_t* l) const
voidGtoLPositionError(const Double_t** g, Double_t** l) const
voidGtoLPositionErrorTracking(const Double_t** g, Double_t** l) const
voidGtoLPositionTracking(const Double_t* g, Double_t* l) 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
voidLtoGMomentum(const Double_t* l, Double_t* g) const
voidLtoGMomentumTracking(const Double_t* l, Double_t* g) const
voidLtoGPosition(const Double_t* l, Double_t* g) const
voidLtoGPositionError(const Double_t** l, Double_t** g) const
voidLtoGPositionErrorTracking(const Double_t** l, Double_t** g) const
voidLtoGPositionTracking(const Double_t* l, Double_t* g) const
voidMakeFigures() const
voidMatrixFromSixAngles(const Double_t* ang)
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)
AliITSgeomMatrix&operator=(const AliITSgeomMatrix& source)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
voidPrint(ostream* os) const
virtual voidPrint(Option_t *const option = "") const
voidPrintComment(ostream* os) const
voidPrintTitles(ostream* os) const
voidRead(istream* is)
virtual Int_tRead(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 = "")
voidSetAngles(const Double_t* rot)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetDetectorIndex(Int_t idt)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEulerAnglesChi(const Double_t* ang)
voidSetIndex(const Int_t* id)
voidSetMatrix(const Double_t** matrix)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPath(const Char_t* p)
voidSetPath(const TString& p)
voidSetTranslation(const Double_t* tran)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
voidSixAnglesFromMatrix(Double_t* ang) 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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
voidAngleFromMatrix()
voidMatrixFromAngle()

Data Members

private:
Double_tfCylPhi! Translation vector in Cylindrical coord.
Double_tfCylR
Int_tfDetectorIndexDetector type index (like fShapeIndex was)
TStringfPathPath within Geometry to this volume
Int_tfid[3]layer, ladder, detector numbers.
Double_tfm[3][3]Rotation matrix based on frot.
Double_tfrot[3]! vector of rotations about x,y,z [radians].
Double_tftran[3]Translation vector of module x,y,z.

Class Charts

Inheritance Chart:
TObject
AliITSgeomMatrix

Function documentation

AliITSgeomMatrix()
 The Default constructor for the AliITSgeomMatrix class. By Default
 the angles of rotations are set to zero, meaning that the rotation
 matrix is the unit matrix. The translation vector is also set to
 zero as are the module id number. The detector type is set to -1
 (an undefined value). The full rotation matrix is kept so that
 the evaluation  of a coordinate transformation can be done
 quickly and with a minimum of CPU overhead. The basic coordinate
 systems are the ALICE global coordinate system and the detector
 local coordinate system. In general this structure is not limited
 to just those two coordinate systems.

/* */
 Inputs:
    none.
 Outputs:
    none.
 Return:
    A default constructes AliITSgeomMatrix class.
AliITSgeomMatrix(const AliITSgeomMatrix& source)
 fShapeIndex was)
 The standard Copy constructor. This make a full / proper copy of
 this class.
 Inputs:
    AliITSgeomMatrix &source   The source of this copy
 Outputs:
    none.
 Return:
    A copy constructes AliITSgeomMatrix class.
AliITSgeomMatrix& operator=(const AliITSgeomMatrix& source)
 The standard = operator. This make a full / proper copy of
 this class.
 The standard Copy constructor. This make a full / proper copy of
 this class.
 Inputs:
    AliITSgeomMatrix &source   The source of this copy
 Outputs:
    none.
 Return:
    A copy of the source AliITSgeomMatrix class.
AliITSgeomMatrix(Int_t idt,const Int_t id[3], const Double_t rot[3],const Double_t tran[3])
 This is a constructor for the AliITSgeomMatrix class. The matrix is
 defined by 3 standard rotation angles [radians], and the translation
 vector tran [cm]. In addition the layer, ladder, and detector number
 for this particular module and the type of module must be given.
 The full rotation matrix is kept so that the evaluation
 of a coordinate transformation can be done quickly and with a minimum
 of CPU overhead. The basic coordinate systems are the ALICE global
 coordinate system and the detector local coordinate system. In general
 this structure is not limited to just those two coordinate systems.

/* */
 Inputs:
    Int_t idt        The detector index value
    Int_t id[3]      The layer, ladder, and detector numbers
    Double_t rot[3]  The 3 Cartician rotaion angles [radians]
    Double_t tran[3] The 3 Cartician translation distnaces
 Outputs:
    none.
 Return:
    A properly inilized AliITSgeomMatrix class.
AliITSgeomMatrix(Int_t idt, const Int_t id[3], Double_t matrix[3][3], const Double_t tran[3])
 This is a constructor for the AliITSgeomMatrix class. The
 rotation matrix is given as one of the inputs, and the
 translation vector tran [cm]. In  addition the layer, ladder,
 and detector number for this particular module and the type of
 module must be given. The full rotation matrix is kept so that
 the evaluation of a coordinate transformation can be done quickly
 and with a minimum of CPU overhead. The basic coordinate systems
 are the ALICE global coordinate system and the detector local
 coordinate system. In general this structure is not limited to just
 those two coordinate systems.

/* */
 Inputs:
    Int_t idt          The detector index value
    Int_t id[3]        The layer, ladder, and detector numbers
    Double_t rot[3][3] The 3x3 Cartician rotaion matrix
    Double_t tran[3]   The 3 Cartician translation distnaces
 Outputs:
    none.
 Return:
    A properly inilized AliITSgeomMatrix class.
void SixAnglesFromMatrix(Double_t* ang) const
 This function returns the 6 GEANT 3.21 rotation angles [degrees] in
 the array ang which must be at least [6] long.
 Inputs:
   none.
 Outputs:
   Double_t ang[6]  The 6 Geant3.21 rotation angles. [degrees]
 Return:
   noting
void MatrixFromSixAngles(const Double_t* ang)
 Given the 6 GEANT 3.21 rotation angles [degree], this will compute and
 set the rotations matrix and 3 standard rotation angles [radians].
 These angles and rotation matrix are overwrite the existing values in
 this class.
 Inputs:
   Double_t ang[6]  The 6 Geant3.21 rotation angles. [degrees]
 Outputs:
   none.
 Return:
   noting
AliITSgeomMatrix(const Double_t* rotd, Int_t idt, const Int_t* id, const Double_t* tran)
 This is a constructor for the AliITSgeomMatrix class. The matrix
 is defined by the 6 GEANT 3.21 rotation angles [degrees], and
 the translation vector tran [cm]. In addition the layer, ladder,
 and detector number for this particular module and the type of
 module must be given. The full rotation matrix is kept so that
 the evaluation  of a coordinate transformation can be done
 quickly and with a minimum of CPU overhead. The basic coordinate
 systems are the ALICE global coordinate system and the detector
 local coordinate system. In general this structure is not limited
 to just those two coordinate systems.

/* */
 Inputs:
    Double_t rotd[6]  The 6 Geant 3.21 rotation angles [degrees]
    Int_t idt         The module Id number
    Int_t id[3]       The layer, ladder and detector number
    Double_t tran[3]  The translation vector
void AngleFromMatrix()
 Computes the angles from the rotation matrix up to a phase of
 180 degrees. The matrix used in AliITSgeomMatrix::MatrixFromAngle()
 and  its inverse AliITSgeomMatrix::AngleFromMatrix() are defined in
 the following ways, R = Rz*Ry*Rx (M=R*L+T) where
     1   0   0       Cy  0 +Sy       Cz -Sz  0
 Rx= 0   Cx -Sx  Ry=  0  1   0   Rz=+Sz  Cz  0
     0  +Sx  Cx     -Sy  0  Cy        0   0  1
 The choice of the since of S, comes from the choice between
 the rotation of the object or the coordinate system (view). I think
 that this choice is the first, the rotation of the object.
 Inputs:
   none
 Outputs:
   none
 Return:
   none
void MatrixFromAngle()
 Computes the Rotation matrix from the angles [radians] kept in this
 class. The matrix used in AliITSgeomMatrix::MatrixFromAngle() and
 its inverse AliITSgeomMatrix::AngleFromMatrix() are defined in
 the following ways, R = Rz*Ry*Rx (M=R*L+T) where
     1   0   0       Cy  0 +Sy       Cz -Sz  0
 Rx= 0   Cx -Sx  Ry=  0  1   0   Rz=+Sz  Cz  0
     0  +Sx  Cx     -Sy  0  Cy        0   0  1
 The choice of the since of S, comes from the choice between
 the rotation of the object or the coordinate system (view). I think
 that this choice is the first, the rotation of the object.
 Inputs:
   none
 Outputs:
   none
 Return:
   none
void SetEulerAnglesChi(const Double_t* ang)
 Computes the Rotation matrix from the Euler angles [radians],
 Chi-convention, kept in this class. The matrix used in
 AliITSgeomMatrix::SetEulerAnglesChi and
 its inverse AliITSgeomMatrix::GetEulerAnglesChi() are defined in
 the following ways, R = Rb*Rc*Rd (M=R*L+T) where
     C2 +S2  0       1  0    0       C0 +S0  0
 Rb=-S2  C2  0  Rc=  0  C1 +S1   Rd=-S0  C0  0
     0   0   1       0 -S1  C1       0   0   1
 This form is taken from Wolfram Research's Geometry>
 Transformations>Rotations web page (also should be
 found in their book).
 Inputs:
   Double_t ang[3] The three Euler Angles Phi, Theta, Psi
 Outputs:
   none
 Return:
   none
void GtoLPosition(const Double_t* g, Double_t* l) const
 Returns the local coordinates given the global coordinates [cm].
 Inputs:
   Double_t g[3]   The position represented in the ALICE
                   global coordinate system
 Outputs:
   Double_t l[3]  The poistion represented in the local
                  detector coordiante system
 Return:
   none
void LtoGPosition(const Double_t* l, Double_t* g) const
 Returns the global coordinates given the local coordinates [cm].
 Inputs:
   Double_t l[3]   The poistion represented in the detector
                   local coordinate system
 Outputs:
   Double_t g[3]   The poistion represented in the ALICE
                   Global coordinate system
 Return:
   none.
void GtoLMomentum(const Double_t* g, Double_t* l) const
 Returns the local coordinates of the momentum given the global
 coordinates of the momentum. It transforms just like GtoLPosition
 except that the translation vector is zero.
 Inputs:
   Double_t g[3] The momentum represented in the ALICE global
                 coordinate system
 Outputs:
   Double_t l[3] the momentum represented in the detector
                 local coordinate system
 Return:
   none.
void LtoGMomentum(const Double_t* l, Double_t* g) const
 Returns the Global coordinates of the momentum given the local
 coordinates of the momentum. It transforms just like LtoGPosition
 except that the translation vector is zero.
 Inputs:
   Double_t l[3] the momentum represented in the detector
                 local coordinate system
 Outputs:
   Double_t g[3] The momentum represented in the ALICE global
                 coordinate system
 Return:
   none.
void GtoLPositionError(const Double_t** g, Double_t** l) const
 Given an Uncertainty matrix in Global coordinates it is
 rotated so that  its representation in local coordinates can
 be returned. There is no effect due to the translation vector
 or its uncertainty.
 Inputs:
   Double_t g[3][3] The error matrix represented in the ALICE global
                    coordinate system
 Outputs:
   Double_t l[3][3] the error matrix represented in the detector
                    local coordinate system
 Return:
   none.
void LtoGPositionError(const Double_t** l, Double_t** g) const
 Given an Uncertainty matrix in Local coordinates it is rotated so that
 its representation in global coordinates can be returned. There is no
 effect due to the translation vector or its uncertainty.
 Inputs:
   Double_t l[3][3] the error matrix represented in the detector
                    local coordinate system
 Outputs:
   Double_t g[3][3] The error matrix represented in the ALICE global
                    coordinate system
 Return:
   none.
void GtoLPositionTracking(const Double_t* g, Double_t* l) const
 A slightly different coordinate system is used when tracking.
 This coordinate system is only relevant when the geometry represents
 the cylindrical ALICE ITS geometry. For tracking the Z axis is left
 alone but X -> -Y and Y -> X such that X always points out of the
 ITS Cylinder for every layer including layer 1 (where the detector
 are mounted upside down).

/* */
 Inputs:
   Double_t g[3]   The position represented in the ALICE
                   global coordinate system
 Outputs:
   Double_t l[3]  The poistion represented in the local
                  detector coordiante system
 Return:
   none
void LtoGPositionTracking(const Double_t* l, Double_t* g) const
 A slightly different coordinate system is used when tracking.
 This coordinate system is only relevant when the geometry represents
 the cylindrical ALICE ITS geometry. For tracking the Z axis is left
 alone but X -> -Y and Y -> X such that X always points out of the
 ITS Cylinder for every layer including layer 1 (where the detector
 are mounted upside down).

/* */
 Inputs:
   Double_t l[3]   The poistion represented in the detector
                   local coordinate system
 Outputs:
   Double_t g[3]   The poistion represented in the ALICE
                   Global coordinate system
 Return:
   none.
void GtoLMomentumTracking(const Double_t* g, Double_t* l) const
 A slightly different coordinate system is used when tracking.
 This coordinate system is only relevant when the geometry represents
 the cylindrical ALICE ITS geometry. For tracking the Z axis is left
 alone but X -> -Y and Y -> X such that X always points out of the
 ITS Cylinder for every layer including layer 1 (where the detector
 are mounted upside down).

/* */
 Inputs:
   Double_t g[3] The momentum represented in the ALICE global
                 coordinate system
 Outputs:
   Double_t l[3] the momentum represented in the detector
                 local coordinate system
 Return:
   none.
void LtoGMomentumTracking(const Double_t* l, Double_t* g) const
 A slightly different coordinate system is used when tracking.
 This coordinate system is only relevant when the geometry represents
 the cylindrical ALICE ITS geometry. For tracking the Z axis is left
 alone but X -> -Y and Y -> X such that X always points out of the
 ITS Cylinder for every layer including layer 1 (where the detector
 are mounted upside down).

/* */
 Inputs:
   Double_t l[3] the momentum represented in the detector
                 local coordinate system
 Outputs:
   Double_t g[3] The momentum represented in the ALICE global
                 coordinate system
 Return:
   none.
void GtoLPositionErrorTracking(const Double_t** g, Double_t** l) const
 A slightly different coordinate system is used when tracking.
 This coordinate system is only relevant when the geometry represents
 the cylindrical ALICE ITS geometry. For tracking the Z axis is left
 alone but X -> -Y and Y -> X such that X always points out of the
 ITS Cylinder for every layer including layer 1 (where the detector
 are mounted upside down).

/* */
 Inputs:
   Double_t g[3][3] The error matrix represented in the ALICE global
                    coordinate system
 Outputs:
   Double_t l[3][3] the error matrix represented in the detector
                    local coordinate system
 Return:
void LtoGPositionErrorTracking(const Double_t** l, Double_t** g) const
 A slightly different coordinate system is used when tracking.
 This coordinate system is only relevant when the geometry represents
 the cylindrical ALICE ITS geometry. For tracking the Z axis is left
 alone but X -> -Y and Y -> X such that X always points out of the
 ITS Cylinder for every layer including layer 1 (where the detector
 are mounted upside down).

/* */
 Inputs:
   Double_t l[3][3] the error matrix represented in the detector
                    local coordinate system
 Outputs:
   Double_t g[3][3] The error matrix represented in the ALICE global
                    coordinate system
 Return:
   none.
void PrintTitles(ostream* os) const
 Standard output format for this class but it includes variable
 names and formatting that makes it easer to read.
 Inputs:
    ostream *os   The output stream to print the title on
 Outputs:
    none.
 Return:
    none.
void PrintComment(ostream* os) const
  output format used by Print.
 Inputs:
    ostream *os   The output stream to print the comments on
 Outputs:
    none.
 Return:
    none.
void Print(ostream* os) const
 Standard output format for this class.
 Inputs:
    ostream *os   The output stream to print the class data on
 Outputs:
    none.
 Return:
    none.
void Read(istream* is)
 Standard input format for this class.
 Inputs:
    istream *is   The input stream to read on
 Outputs:
    none.
 Return:
    none.
void Streamer(TBuffer& )
 Stream an object of class AliITSgeomMatrix.
 Inputs:
     TBuffer &R__b   The output buffer to stream data on.
 Outputs:
    none.
 Return:
    none.
void SetTranslation(const Double_t* tran)
 Sets the translation vector and computes fCylR and fCylPhi.
 Inputs:
   Double_t trans[3]   The translation vector to be used
 Outputs:
   none.
 Return:
   none.
TPolyLine3D* CreateLocalAxis() const
 This class is used as part of the documentation of this class
 Inputs:
   none.
 Outputs:
   none.
 Return:
   A pointer to a new TPolyLine3D object showing the 3 line
   segments that make up the this local axis in the global
   reference system.
TPolyLine3D* CreateLocalAxisTracking() const
 This class is used as part of the documentation of this class
 Inputs:
   none.
 Outputs:
   none.
 Return:
   A pointer to a new TPolyLine3D object showing the 3 line
   segments that make up the this local axis in the global
   reference system.
TNode* CreateNode(const Char_t* nodeName, const Char_t* nodeTitle, TNode* mother, TShape* shape, Bool_t axis = kTRUE) const
 Creates a node inside of the node mother out of the shape shape
 in the position, with respect to mother, indecated by "this". If axis
 is ture, it will insert an axis within this node/shape.
 Inputs:
   Char_t *nodeName  This name of this node
   Char_t *nodeTitle This node title
   TNode  *mother    The node this node will be inside of/with respect to
   TShape *shape     The shape of this node
   Bool_t axis       If ture, a set of x,y,z axis will be included
 Outputs:
   none.
 Return:
   A pointer to "this" node.
void MakeFigures() const
 make figures to help document this class
 Inputs:
   none.
 Outputs:
   none.
 Return:
   none.
virtual ~AliITSgeomMatrix()
 Prints a line describing the output format of the function Print.
{}
void Print(ostream* os) const
 Prints out the content of this class in ASCII format.
void Read(istream* is)
 Reads in the content of this class in the format of Print
TString& GetPath()
 Returns the geometry path corresponding to this transformation
{return fPath;}
void SetPath(const Char_t* p)
 Sets the geometry path
{fPath = p;}
void SetPath(const TString& p)
 Given the rotation angles [radians] it fills frot and computes
 the rotation matrix fm.
{fPath = p;}
void SetAngles(const Double_t* rot)
void SetMatrix(const Double_t** matrix)
 sets the rotation matrix and computes the rotation angles [radians]
void SetDetectorIndex(Int_t idt)
 Sets the detector index value
void SetIndex(const Int_t* id)
 Sets the detector layer, ladder, detector (id) values.
void GetAngles(Double_t* rot) const
 Returns the rotation angles [radians]
void GetTranslation(Double_t* tran) const
 Returns the translation vector [cm]
void GetTranslationCylinderical(Double_t* tran) const
 Returns the translation vector in cylindrical
 coordinates [cm,radians]
void GetMatrix(Double_t** matrix) const
 Returns the values of the rotation matrix
Int_t GetDetectorIndex() const
 Returns the detector index value.
{return fDetectorIndex;}
void GetIndex(Int_t* id) const
 returns the modules index layer, ladder, detector
{for(Int_t i=0;i<3;i++) id[i] = fid[i];}
void GetGlobalNormal(Double_t& nx, Double_t& ny, Double_t& nz) const
 return the x,y,z components (global) of the normalized normal
 vector which helps to define the plane the detector is a part of
Double_t Distance2(const Double_t* t) const
 Computes the distance squared [cm^2] between a point t[3] and
 this module/detector