ROOT logo
AliRoot » MUON » AliMUONGeometryMisAligner

class AliMUONGeometryMisAligner: public TObject

Function Members (Methods)

public:
AliMUONGeometryMisAligner()
AliMUONGeometryMisAligner(Double_t cartMisAligW, Double_t angMisAligW)
AliMUONGeometryMisAligner(Double_t cartMisAligM, Double_t cartMisAligW, Double_t angMisAligM, Double_t angMisAligW)
AliMUONGeometryMisAligner(Double_t cartXMisAligM, Double_t cartXMisAligW, Double_t cartYMisAligM, Double_t cartYMisAligW, Double_t angMisAligM, Double_t angMisAligW)
virtual~AliMUONGeometryMisAligner()
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
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
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() 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
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() 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
voidTObject::MayNotUse(const char* method) const
AliMUONGeometryTransformer*MisAlign(const AliMUONGeometryTransformer* transformer, Bool_t verbose = kFALSE)
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 = "")
voidSetAlignmentResolution(const TClonesArray* misAlignArray, Int_t chId = -1, Double_t chResX = -1., Double_t chResY = -1., Double_t deResX = -1., Double_t deResY = -1.)
voidSetAngMisAlig(Double_t zmean, Double_t zwidth, Double_t xmean = 0., Double_t xwidth = 0., Double_t ymean = 0., Double_t ywidth = 0.)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCartMisAlig(Double_t mean, Double_t width)
voidSetCartMisAlig(Double_t xmean, Double_t xwidth, Double_t ymean, Double_t ywidth, Double_t zmean = 0., Double_t zwidth = 0.)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetMaxAngMisAlig(Double_t width)
voidSetMaxCartMisAlig(Double_t width)
voidSetModuleAngMisAlig(Double_t xmean, Double_t xwidth, Double_t ymean, Double_t ywidth, Double_t zmean, Double_t zwidth)
voidSetModuleCartMisAlig(Double_t xmean, Double_t xwidth, Double_t ymean, Double_t ywidth, Double_t zmean, Double_t zwidth)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUseGaus(Bool_t usegaus)
voidSetUseUni(Bool_t useuni)
voidSetXYAngMisAligFactor(Double_t factor)
voidSetZCartMisAligFactor(Double_t factor)
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
protected:
AliMUONGeometryMisAligner(const AliMUONGeometryMisAligner& right)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
AliMUONGeometryMisAligner&operator=(const AliMUONGeometryMisAligner& right)
private:
voidGetGausMisAlign(Double_t* cartMisAlig, Double_t* angMisAlig, const Double_t lParMisAlig[][2]) const
voidGetUniMisAlign(Double_t* cartMisAlig, Double_t* angMisAlig, const Double_t lParMisAlig[][2]) const
TGeoCombiTransMisAlignDetElem(const TGeoCombiTrans& transform) const
TGeoCombiTransMisAlignModule(const TGeoCombiTrans& transform) const

Data Members

private:
Double_tfDetElemMisAlig[6][2]/< Mean and width of the displacements of the detection elements along x,y,z (translations) and about x,y,z (rotations)
Double_tfModuleMisAlig[6][2]/< Mean and width of the displacements of the modules along x,y,z (translations) and about x,y,z (rotations)
Bool_tfUseGaus/< use gaussian distribution for misaligmnets
Bool_tfUseUni/< use uniform distribution for misaligmnets
Double_tfXYAngMisAligFactor/< factor (<1) to apply to angular misalignment range since range of motion is restricted out of the xy plane
Double_tfZCartMisAligFactor/< factor (<1) to apply to cartetian misalignment range since range of motion is restricted in z direction

Class Charts

Inheritance Chart:
TObject
AliMUONGeometryMisAligner

Function documentation

AliMUONGeometryMisAligner(Double_t cartXMisAligM, Double_t cartXMisAligW, Double_t cartYMisAligM, Double_t cartYMisAligW, Double_t angMisAligM, Double_t angMisAligW)
 Standard constructor
AliMUONGeometryMisAligner(Double_t cartMisAligM, Double_t cartMisAligW, Double_t angMisAligM, Double_t angMisAligW)
 Standard constructor
AliMUONGeometryMisAligner(Double_t cartMisAligW, Double_t angMisAligW)
 Standard constructor
AliMUONGeometryMisAligner()
 Default constructor
~AliMUONGeometryMisAligner()
 Destructor
SetXYAngMisAligFactor(Double_t factor)
 Set XY angular misalign factor
void SetZCartMisAligFactor(Double_t factor)
 Set XY angular misalign factor
void GetUniMisAlign(Double_t* cartMisAlig, Double_t* angMisAlig, const Double_t lParMisAlig[][2]) const
 Misalign using uniform distribution

    misalign the centre of the local transformation
    rotation axes :
    fAngMisAlig[1,2,3] = [x,y,z]
    Assume that misalignment about the x and y axes (misalignment of z plane)
    is much smaller, since the entire detection plane has to be moved (the
    detection elements are on a support structure), while rotation of the x-y
    plane is more free.

void GetGausMisAlign(Double_t* cartMisAlig, Double_t* angMisAlig, const Double_t lParMisAlig[][2]) const
 Misalign using gaussian distribution

    misalign the centre of the local transformation
    rotation axes :
    fAngMisAlig[1,2,3] = [x,y,z]
    Assume that misalignment about the x and y axes (misalignment of z plane)
    is much smaller, since the entire detection plane has to be moved (the
    detection elements are on a support structure), while rotation of the x-y
    plane is more free.

TGeoCombiTrans MisAlignDetElem(const TGeoCombiTrans& transform) const
 Misalign given transformation and return the misaligned transformation.
 Use misalignment parameters for detection elements.
 Note that applied misalignments are small deltas with respect to the detection
 element own ideal local reference frame. Thus deltaTransf represents
 the transformation to go from the misaligned d.e. local coordinates to the
 ideal d.e. local coordinates.
 Also note that this -is not- what is in the ALICE alignment framework known
 as local nor global (see AliMUONGeometryMisAligner::MisAlign)
TGeoCombiTrans MisAlignModule(const TGeoCombiTrans& transform) const
 Misalign given transformation and return the misaligned transformation.
 Use misalignment parameters for modules.
 Note that applied misalignments are small deltas with respect to the module
 own ideal local reference frame. Thus deltaTransf represents
 the transformation to go from the misaligned module local coordinates to the
 ideal module local coordinates.
 Also note that this -is not- what is in the ALICE alignment framework known
 as local nor global (see AliMUONGeometryMisAligner::MisAlign)
MisAlign(const AliMUONGeometryTransformer* transformer, Bool_t verbose = kFALSE)
 Takes the internal geometry module transformers, copies them to
 new geometry module transformers.
 Calculates  module misalignment parameters and applies these
 to the new module transformer.
 Calculates the module misalignment delta transformation in the
 Alice Alignment Framework newTransf = delta * oldTransf.
 Add a module misalignment to the new geometry transformer.
 Gets the Detection Elements from the module transformer.
 Calculates misalignment parameters and applies these
 to the local transformation of the Detection Element.
 Obtains the new global transformation by multiplying the new
 module transformer transformation with the new local transformation.
 Applies the new global transform to a new detection element.
 Adds the new detection element to a new module transformer.
 Calculates the d.e. misalignment delta transformation in the
 Alice Alignment Framework (newGlobalTransf = delta * oldGlobalTransf).
 Add a d.e. misalignment to the new geometry transformer.
 Adds the new module transformer to a new geometry transformer.
 Returns the new geometry transformer.
void SetAlignmentResolution(const TClonesArray* misAlignArray, Int_t chId = -1, Double_t chResX = -1., Double_t chResY = -1., Double_t deResX = -1., Double_t deResY = -1.)
AliMUONGeometryMisAligner(Double_t cartXMisAligM, Double_t cartXMisAligW, Double_t cartYMisAligM, Double_t cartYMisAligW, Double_t angMisAligM, Double_t angMisAligW)
void SetCartMisAlig(Double_t xmean, Double_t xwidth, Double_t ymean, Double_t ywidth, Double_t zmean = 0., Double_t zwidth = 0.)
 Set cartesian displacement parameters different along x, y
{fDetElemMisAlig[0][0] = xmean; fDetElemMisAlig[0][1] = xwidth; fDetElemMisAlig[1][0] = ymean; fDetElemMisAlig[1][1] = ywidth; fDetElemMisAlig[2][0] = zmean; fDetElemMisAlig[2][1] = zwidth; }
void SetCartMisAlig(Double_t mean, Double_t width)
 Set cartesian displacement parameters, the same along x, y
{fDetElemMisAlig[0][0] = mean; fDetElemMisAlig[0][1] = width; fDetElemMisAlig[1][0] = mean; fDetElemMisAlig[1][1] = width;}
void SetAngMisAlig(Double_t zmean, Double_t zwidth, Double_t xmean = 0., Double_t xwidth = 0., Double_t ymean = 0., Double_t ywidth = 0.)
 Set angular displacement
{fDetElemMisAlig[3][0] = xmean; fDetElemMisAlig[3][1] = xwidth; fDetElemMisAlig[4][0] = ymean; fDetElemMisAlig[4][1] = ywidth; fDetElemMisAlig[5][0] = zmean; fDetElemMisAlig[5][1] = zwidth;}
void SetMaxCartMisAlig(Double_t width)
 Set cartesian displacement (Kept for backward compatibility)
{fDetElemMisAlig[0][0] = 0.0; fDetElemMisAlig[0][1] = width; fDetElemMisAlig[1][0] = 0.0; fDetElemMisAlig[1][1] = width;}
void SetMaxAngMisAlig(Double_t width)
 Set angular displacement (Kept for backward compatibility)
{fDetElemMisAlig[5][0] = 0.0; fDetElemMisAlig[5][1] = width;}
void SetUseGaus(Bool_t usegaus)
 Set option for gaussian distribution
{fUseGaus=usegaus; fUseUni=!usegaus;}
void SetUseUni(Bool_t useuni)
 Set option for uniform distribution
{fUseGaus=!useuni; fUseUni=useuni;}
void SetModuleCartMisAlig(Double_t xmean, Double_t xwidth, Double_t ymean, Double_t ywidth, Double_t zmean, Double_t zwidth)
 Set module (half chambers) cartesian displacement parameters
{fModuleMisAlig[0][0] = xmean; fModuleMisAlig[0][1] = xwidth; fModuleMisAlig[1][0] = ymean; fModuleMisAlig[1][1] = ywidth; fModuleMisAlig[2][0] = zmean; fModuleMisAlig[2][1] = zwidth;}
void SetModuleAngMisAlig(Double_t xmean, Double_t xwidth, Double_t ymean, Double_t ywidth, Double_t zmean, Double_t zwidth)
 Set module (half chambers) cartesian displacement parameters
{fModuleMisAlig[3][0] = xmean; fModuleMisAlig[3][1] = xwidth; fModuleMisAlig[4][0] = ymean; fModuleMisAlig[4][1] = ywidth; fModuleMisAlig[5][0] = zmean; fModuleMisAlig[5][1] = zwidth;}