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() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TObject::Clear(Option_t* = "") |
virtual TObject* | TObject::Clone(const char* newname = "") const |
virtual Int_t | TObject::Compare(const TObject* obj) const |
virtual void | TObject::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 void | TObject::Delete(Option_t* option = "")MENU |
Double_t | Distance2(const Double_t* t) const |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
void | GetAngles(Double_t* rot) const |
Int_t | GetDetectorIndex() const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
void | GetGlobalNormal(Double_t& nx, Double_t& ny, Double_t& nz) const |
virtual const char* | TObject::GetIconName() const |
void | GetIndex(Int_t* id) const |
void | GetMatrix(Double_t** matrix) const |
virtual const char* | TObject::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
TString& | GetPath() |
virtual const char* | TObject::GetTitle() const |
void | GetTranslation(Double_t* tran) const |
void | GetTranslationCylinderical(Double_t* tran) const |
virtual UInt_t | TObject::GetUniqueID() const |
void | GtoLMomentum(const Double_t* g, Double_t* l) const |
void | GtoLMomentumTracking(const Double_t* g, Double_t* l) const |
void | GtoLPosition(const Double_t* g, Double_t* l) const |
void | GtoLPositionError(const Double_t** g, Double_t** l) const |
void | GtoLPositionErrorTracking(const Double_t** g, Double_t** l) const |
void | GtoLPositionTracking(const Double_t* g, Double_t* l) const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TObject::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TObject::ls(Option_t* option = "") const |
void | LtoGMomentum(const Double_t* l, Double_t* g) const |
void | LtoGMomentumTracking(const Double_t* l, Double_t* g) const |
void | LtoGPosition(const Double_t* l, Double_t* g) const |
void | LtoGPositionError(const Double_t** l, Double_t** g) const |
void | LtoGPositionErrorTracking(const Double_t** l, Double_t** g) const |
void | LtoGPositionTracking(const Double_t* l, Double_t* g) const |
void | MakeFigures() const |
void | MatrixFromSixAngles(const Double_t* ang) |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::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 void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
void | Print(ostream* os) const |
virtual void | Print(Option_t *const option = "") const |
void | PrintComment(ostream* os) const |
void | PrintTitles(ostream* os) const |
void | Read(istream* is) |
virtual Int_t | Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | SetAngles(const Double_t* rot) |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
void | SetDetectorIndex(Int_t idt) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
void | SetEulerAnglesChi(const Double_t* ang) |
void | SetIndex(const Int_t* id) |
void | SetMatrix(const Double_t** matrix) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | SetPath(const Char_t* p) |
void | SetPath(const TString& p) |
void | SetTranslation(const Double_t* tran) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector&) |
void | SixAnglesFromMatrix(Double_t* ang) const |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
void | AngleFromMatrix() |
void | MatrixFromAngle() |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
Double_t | fCylPhi | ! Translation vector in Cylindrical coord. |
Double_t | fCylR | |
Int_t | fDetectorIndex | Detector type index (like fShapeIndex was) |
TString | fPath | Path within Geometry to this volume |
Int_t | fid[3] | layer, ladder, detector numbers. |
Double_t | fm[3][3] | Rotation matrix based on frot. |
Double_t | frot[3] | ! vector of rotations about x,y,z [radians]. |
Double_t | ftran[3] | Translation vector of module x,y,z. |
Inheritance Chart: | ||||||||
|
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.
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.
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.
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.
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.
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
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
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
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
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
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.
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.
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.
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.
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
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.
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.
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.
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:
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.
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.
Standard output format for this class. Inputs: ostream *os The output stream to print the class data on Outputs: none. Return: none.
Standard input format for this class. Inputs: istream *is The input stream to read on Outputs: none. Return: none.
Stream an object of class AliITSgeomMatrix. Inputs: TBuffer &R__b The output buffer to stream data on. Outputs: none. Return: none.
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.
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.
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.
make figures to help document this class Inputs: none. Outputs: none. Return: none.
sets the rotation matrix and computes the rotation angles [radians]
Returns the translation vector in cylindrical coordinates [cm,radians]
return the x,y,z components (global) of the normalized normal vector which helps to define the plane the detector is a part of
Computes the distance squared [cm^2] between a point t[3] and this module/detector