ROOT logo
AliRoot » MUON » AliMUONGeometryTransformer

class AliMUONGeometryTransformer: public TObject

 Class AliMUONGeometryTransformer

 Top container class for geometry transformations
 Author: Ivana Hrivnacova, IPN Orsay

Function Members (Methods)

public:
AliMUONGeometryTransformer()
AliMUONGeometryTransformer(TRootIOCtor*)
virtual~AliMUONGeometryTransformer()
voidTObject::AbstractMethod(const char* method) const
voidAddAlignableVolumes() const
voidAddMisAlignDetElement(Int_t detElemId, const TGeoHMatrix& matrix, Bool_t bGlobal = kTRUE)
voidAddMisAlignModule(Int_t moduleId, const TGeoHMatrix& matrix, Bool_t bGlobal = kTRUE)
voidAddModuleTransformer(AliMUONGeometryModuleTransformer* transformer)
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* = "")
voidClearMisAlignmentData()
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
voidCreateModules()
TClonesArray*CreateZeroAlignmentData() 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 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
AliMpArea*GetDEArea(Int_t detElemId) const
const AliMUONGeometryDetElement*GetDetElement(Int_t detElemId, Bool_t warn = true) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
const TClonesArray*GetMisAlignmentData() const
const AliMUONGeometryModuleTransformer*GetModuleTransformer(Int_t index, Bool_t warn = true) const
const AliMUONGeometryModuleTransformer*GetModuleTransformerByDEId(Int_t detElemId, Bool_t warn = true) const
virtual const char*TObject::GetName() const
Int_tGetNofModuleTransformers() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
voidGlobal2Local(Int_t detElemId, Float_t xg, Float_t yg, Float_t zg, Float_t& xl, Float_t& yl, Float_t& zl) const
voidGlobal2Local(Int_t detElemId, Double_t xg, Double_t yg, Double_t zg, Double_t& xl, Double_t& yl, Double_t& zl) const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tHasDE(Int_t detElemId) const
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
Bool_tLoadGeometryData()
Bool_tLoadGeometryData(const TString& fileName)
Bool_tLoadTransformations()
voidLocal2Global(Int_t detElemId, Float_t xl, Float_t yl, Float_t zl, Float_t& xg, Float_t& yg, Float_t& zg) const
voidLocal2Global(Int_t detElemId, Double_t xl, Double_t yl, Double_t zl, Double_t& xg, Double_t& yg, Double_t& zg) const
virtual voidTObject::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 voidTObject::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 = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetDetName(const TString& detName)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOwner(Bool_t isOwner)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
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_tWriteMisAlignmentData(const TString& fileName) const
Bool_tWriteTransformations(const TString& fileName) const
protected:
AliMUONGeometryTransformer(const AliMUONGeometryTransformer& right)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
AliMUONGeometryTransformer&operator=(const AliMUONGeometryTransformer& right)
private:
voidCreateDEAreas() const
voidFillDetElemTransform(Int_t id, Double_t x, Double_t y, Double_t z, Double_t a1, Double_t a2, Double_t a3, Double_t a4, Double_t a5, Double_t a6)
voidFillModuleTransform(Int_t moduleId, Double_t x, Double_t y, Double_t z, Double_t a1, Double_t a2, Double_t a3, Double_t a4, Double_t a5, Double_t a6)
static const TString&GetDefaultDetectorName()
TStringGetDESymName(Int_t detElemId) const
TStringGetModuleSymName(Int_t moduleId) const
AliMUONGeometryModuleTransformer*GetModuleTransformerNonConst(Int_t index, Bool_t warn = true) const
TGeoHMatrixGetTransform(Double_t x, Double_t y, Double_t z, Double_t a1, Double_t a2, Double_t a3, Double_t a4, Double_t a5, Double_t a6) const
Bool_tLoadMapping() const
TStringReadDetElemTransforms(ifstream& in)
TStringReadModuleTransforms(ifstream& in)
Bool_tReadTransformations(const TString& fileName)
voidWriteDetElemTransforms(ofstream& out) const
voidWriteModuleTransforms(ofstream& out) const
voidWriteTransform(ofstream& out, const TGeoMatrix* transform) const

Data Members

private:
AliMpExMap*fDEAreas/< areas of detection elements in global coordinates
TStringfDetectorName/< Detector name
TClonesArray*fMisAlignArray/< array of misalignment data
TObjArray*fModuleTransformers/< array of module transformers

Class Charts

Inheritance Chart:
TObject
AliMUONGeometryTransformer

Function documentation

const TString& GetDefaultDetectorName()
 Default detector name
AliMUONGeometryTransformer()
 Standard constructor
AliMUONGeometryTransformer(TRootIOCtor* )
 Default constructor
~AliMUONGeometryTransformer()
 Destructor
GetDEArea(Int_t detElemId) const
 Get area (in global coordinates) covered by a given detection element
CreateDEAreas() const
 Create DE areas
Bool_t LoadMapping() const
 Load mapping from CDB
GetModuleTransformerNonConst(Int_t index, Bool_t warn = true) const
 Return the geometry module specified by index
TGeoHMatrix GetTransform(Double_t x, Double_t y, Double_t z, Double_t a1, Double_t a2, Double_t a3, Double_t a4, Double_t a5, Double_t a6) const
 Build the transformation from the given parameters
void FillModuleTransform(Int_t moduleId, Double_t x, Double_t y, Double_t z, Double_t a1, Double_t a2, Double_t a3, Double_t a4, Double_t a5, Double_t a6)
 Fill the transformation of the module.
void FillDetElemTransform(Int_t id, Double_t x, Double_t y, Double_t z, Double_t a1, Double_t a2, Double_t a3, Double_t a4, Double_t a5, Double_t a6)
 Fill the transformation of the detection element.
TString ReadModuleTransforms(ifstream& in)
 Read and fill modules transformations from the stream.
 Return true, if reading finished correctly.
TString ReadDetElemTransforms(ifstream& in)
 Read detection elements transformations from the stream.
 Return true, if reading finished correctly.
ReadTransformations(const TString& fileName)
 Read transformations from a file.
 Return true, if reading finished correctly.
void WriteTransform(ofstream& out, const TGeoMatrix* transform) const
 Write given transformation
void WriteModuleTransforms(ofstream& out) const
 Write module transformations for all module transformers
void WriteDetElemTransforms(ofstream& out) const
 Write detection element transformations for all detection elements in all
 module transformers
TString GetModuleSymName(Int_t moduleId) const
 Return the module symbolic name (use for alignment)
TString GetDESymName(Int_t detElemId) const
 Return the detection element symbolic name (used for alignment)
LoadTransformations()
 Load transformations for defined modules and detection elements
 using AliGeomManager
LoadGeometryData(const TString& fileName)
 Read geometry data either from ASCII file with transformations or
 from root geometry file (if fileName has ".root" extension)
LoadGeometryData()
 Load geometry data from already loaded Root geometry using AliGeomManager
WriteTransformations(const TString& fileName) const
 Write transformations into a file.
 Return true, if writing finished correctly.
WriteMisAlignmentData(const TString& fileName) const
 Write misalignment data into a file
 Return true, if writing finished correctly.
void AddModuleTransformer(AliMUONGeometryModuleTransformer* transformer)
 Add the module transformer to the array
void AddMisAlignModule(Int_t moduleId, const TGeoHMatrix& matrix, Bool_t bGlobal = kTRUE)
 Build AliAlignObjMatrix with module ID, its volumePath
 and the given delta transformation matrix
void AddMisAlignDetElement(Int_t detElemId, const TGeoHMatrix& matrix, Bool_t bGlobal = kTRUE)
 Build AliAlignObjMatrix with detection element ID, its volumePath
 and the given delta transformation matrix
void CreateModules()
 Create modules and their detection elements using info from mapping;
 but do not fill matrices
void AddAlignableVolumes() const
 Set symbolic names and matrices to alignable objects to TGeo
TClonesArray* CreateZeroAlignmentData() const
 Create array with zero alignment data
void ClearMisAlignmentData()
 Clear the array of misalignment data
void Global2Local(Int_t detElemId, Float_t xg, Float_t yg, Float_t zg, Float_t& xl, Float_t& yl, Float_t& zl) const
 Transform point from the global reference frame (ALIC)
 to the local reference frame of the detection element specified
 by detElemId.
void Global2Local(Int_t detElemId, Double_t xg, Double_t yg, Double_t zg, Double_t& xl, Double_t& yl, Double_t& zl) const
 Transform point from the global reference frame (ALIC)
 to the local reference frame of the detection element specified
 by detElemId.
void Local2Global(Int_t detElemId, Float_t xl, Float_t yl, Float_t zl, Float_t& xg, Float_t& yg, Float_t& zg) const
 Transform point from the local reference frame of the detection element
 specified by detElemId to the global reference frame (ALIC).
void Local2Global(Int_t detElemId, Double_t xl, Double_t yl, Double_t zl, Double_t& xg, Double_t& yg, Double_t& zg) const
 Transform point from the local reference frame of the detection element
 specified by detElemId to the global reference frame (ALIC).
GetModuleTransformer(Int_t index, Bool_t warn = true) const
 Return the geometry module transformer specified by index
GetModuleTransformerByDEId(Int_t detElemId, Bool_t warn = true) const
 Return the geometry module transformer specified by detection element ID
GetDetElement(Int_t detElemId, Bool_t warn = true) const
 Return detection element with given detElemId
Bool_t HasDE(Int_t detElemId) const
 Return true if detection element with given detElemId is defined
Int_t GetNofModuleTransformers() const
 Return the number of contained module transformers
{ return fModuleTransformers->GetEntriesFast(); }
const TClonesArray* GetMisAlignmentData() const
 Return the array of misalignment data
{ return fMisAlignArray; }
void SetDetName(const TString& detName)
 Set detector name
{ fDetectorName = detName; }
void SetOwner(Bool_t isOwner)
 Set ownership of array module transformers
AliMUONGeometryTransformer()