ROOT logo
AliRoot » ITS » AliITSMisAligner

class AliITSMisAligner: public AliMisAligner


 This class is a helper, producing ITS aligmnent objects.
 It provides also some useful functions
 See the parameters of the misalignment at the end of this script.

 Main author: L. Gaudichet
 Contact: andrea.dainese@lnl.infn.it


Function Members (Methods)

public:
AliITSMisAligner()
virtual~AliITSMisAligner()
voidTObject::AbstractMethod(const char* method) const
Bool_tAddAlignObj(char* name, Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi, const char* distrib)
Bool_tAddAlignObj(Int_t lay, Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi, Bool_t unif)
Bool_tAddAlignObj(Int_t lay, Int_t ladd, Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi, Double_t xShift, Double_t yShift, Double_t zShift, Double_t psiShift, Double_t thetaShift, Double_t phiShift, Bool_t unif)
Bool_tAddSectorAlignObj(Int_t sectMin, Int_t sectMax, Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi, Double_t xShift, Double_t yShift, Double_t zShift, Double_t psiShift, Double_t thetaShift, Double_t phiShift, Bool_t unif)
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 AliCDBMetaData*GetCDBMetaData() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
const char*GetHalfStaveLadderSymbName(Int_t layer, Int_t ladd, Int_t halfStave) const
virtual const char*TObject::GetIconName() const
static Bool_tGetLayerAndLevel(const char* symname, Int_t& layer, Int_t& level)
const char*AliMisAligner::GetMisalType() const
virtual const char*TObject::GetName() const
static Int_tGetNDaughters(const char* symname)
static Int_tGetNDetectors(Int_t lay)
static Int_tGetNLadders(Int_t lay)
static Int_tGetNLayers()
static Int_tGetNSisters(const char* symname)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
static const char*GetParentSymName(const char* symname)
const char*GetSymbName(Int_t layer) const
const char*GetSymbName(Int_t layer, Int_t ladd) const
const char*GetSymbName(Int_t layer, Int_t ladd, Int_t mod) const
virtual const char*TObject::GetTitle() const
Double_tGetUnif(Double_t x1, Double_t x2)
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
virtual TClonesArray*MakeAlObjsArray()
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)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidAliMisAligner::SetMisalType(const char* misalType)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetSDDBarrelSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
voidSetSDDLadderSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
voidSetSDDLayerSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
voidSetSDDMisAlignment()
voidSetSDDModuleSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
voidSetSeed(Int_t seed)
voidSetSPDBarrelSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
voidSetSPDHBSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
voidSetSPDHSSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
voidSetSPDLadderShiftB(Double_t* pars)
voidSetSPDLadderShiftB(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
voidSetSPDLadderShiftT(Double_t* pars)
voidSetSPDLadderShiftT(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
voidSetSPDLadderSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
voidSetSPDMisAlignment()
voidSetSPDSectorSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
voidSetSSDBarrelPars(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
voidSetSSDLadderSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
voidSetSSDMisAlignment()
voidSetSSDModuleSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetWholeITSMisAlignment()
voidSetWholeITSPars(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
voidShiftAlignObj(AliAlignObjParams& alObj, Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
virtual voidShowMembers(TMemberInspector&)
voidSmearAlignObj(AliAlignObjParams& alObj, Double_t sx, Double_t sy, Double_t sz, Double_t spsi, Double_t stheta, Double_t sphi)
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()

Data Members

protected:
TClonesArray*fAlignObjArrayarray of AliAlignObjParams
Int_tfIndindex of current AliAlignObjParams in fAlignObjArray
TStringAliMisAligner::fMisalType
TRandom3fRndTRandom3 object
TStringfStrHalfStavename of SPD half-stave
TStringfStrLaddername of SPD ladder
TStringfStrSDDname of SDD
TStringfStrSPDname of SPD
TStringfStrSSDname of SSD
TStringfStrSectorname of SPD sector
TStringfStrSensorname of sensitive volume
TStringfStrStavename of SPD stave
private:
Double_tfSDDBarrel[6]SDD barrel
Double_tfSDDLadder[6]SDD ladder
Double_tfSDDLadderShift1[6]for ladder first SDD layer
Double_tfSDDLadderShift2[6]for ladder second SDD layer
Double_tfSDDLayer[6]SPD layer
Double_tfSDDModule[6]SDD module
Double_tfSPDBarrel[6]SPD barrel
Double_tfSPDHB[6]SPD half barrel
Double_tfSPDHS[6]SPD half stave
Double_tfSPDLadder[6]SPD ladder
Double_tfSPDLadderShiftB[6]for bottom half-barrel ladders
Double_tfSPDLadderShiftT[6]for top half-barrel ladders
Double_tfSPDSector[6]sectors
Double_tfSSDBarrel[6]SSD barrel
Double_tfSSDLadder[6]SSD ladder
Double_tfSSDLayer[6]SSD layer
Double_tfSSDModule[6]SSD module
Bool_tfUnifSDDLadderkTRUE if uniform smearing SDD ladder
Bool_tfUnifSDDModulekTRUE if uniform smearing SDD module
Bool_tfUnifSPDHSkTRUE if uniform smearing SPD HS
Bool_tfUnifSPDLadderkTRUE if uniform smearing SPD ladder
Bool_tfUnifSPDSectorkTRUE if uniform smearing SPD sector
Bool_tfUnifSSDLadderkTRUE if uniform smearing SSD ladder
Bool_tfUnifSSDModulekTRUE if uniform smearing SSD module
Double_tfWholeITS[6]parameters for the whole TIS
static const Int_tfgkNDetectors[6]Array of the number of detector/ladder(layer)
static const Int_tfgkNLadders[6]Array of the number of ladders/layer(layer)

Class Charts

Inheritance Chart:
TObject
AliMisAligner
AliITSMisAligner

Function documentation

AliITSMisAligner()
 defaul constructor

TClonesArray* MakeAlObjsArray()
 Make the array of alignment objects, depending on the misalignment scenario (Zero, Residual, Full)

void ShiftAlignObj(AliAlignObjParams& alObj, Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
 Shift the parameters of the alignment object passed as first argument by the quantities defined by the arguments

void SmearAlignObj(AliAlignObjParams& alObj, Double_t sx, Double_t sy, Double_t sz, Double_t spsi, Double_t stheta, Double_t sphi)
 Smear the parameters of the alignment object passed as first argument in the range defined by the subsequent arguments

void SetWholeITSMisAlignment()
 Set misalignment for the whole ITS for the standar scenarios (zero, residual, full)
 To make custom misalignments set directly the misalignments at each level (methods "SetS?D*Pars")

void SetSPDMisAlignment()
 Set misalignment for SPD alignable volumes for the standar scenarios (zero, residual, full)
 To make custom misalignments set directly the misalignments at each level (methods "SetSPD*Pars")

void SetSDDMisAlignment()
 Set misalignment for SDD alignable volumes for the standar scenarios (zero, residual, full)
 To make custom misalignments set directly the misalignments at each level (methods "SetSDD*Pars")

void SetSSDMisAlignment()
 Set misalignment for SSD alignable volumes for the standar scenarios (zero, residual, full)
 To make custom misalignments set directly the misalignments at each level (methods "SetSSD*Pars")

AliCDBMetaData* GetCDBMetaData() const
 Returns the AliCDBMetaData to be associated with AliCDBEntry which will contain
 the array of alignment objects for ITS misalignment
 Presently "responsible" and "comment" are filled.

Bool_t AddAlignObj(char* name, Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi, const char* distrib)
 misalignment by symname

Bool_t AddAlignObj(Int_t lay, Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi, Bool_t unif)
 misalignment at the level of sensitive alignable volumes (SPD ladders/ SDD,SSD modules)
 done for all ladders/modules of the given layer

Bool_t AddAlignObj(Int_t lay, Int_t ladd, Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi, Double_t xShift, Double_t yShift, Double_t zShift, Double_t psiShift, Double_t thetaShift, Double_t phiShift, Bool_t unif)
 misalignment at the level of half-staves/ladders (ladd=-1 means that all ladders are scanned)

Bool_t AddSectorAlignObj(Int_t sectMin, Int_t sectMax, Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi, Double_t xShift, Double_t yShift, Double_t zShift, Double_t psiShift, Double_t thetaShift, Double_t phiShift, Bool_t unif)
 misalignment at the level of SPD sectors and half-barrels

const char* GetSymbName(Int_t layer) const
 be careful : SPD0 and SPD1 are not physically separated

const char* GetSymbName(Int_t layer, Int_t ladd, Int_t mod) const
 symname from layer, ladder, detector

const char* GetSymbName(Int_t layer, Int_t ladd) const
 Get logical names at the level of staves / ladders

const char* GetHalfStaveLadderSymbName(Int_t layer, Int_t ladd, Int_t halfStave) const
 Get logical names at the level of half-staves (SPD) or ladders (SDD and SSD)

const char* GetParentSymName(const char* symname)
 symnane of parent volume

Bool_t GetLayerAndLevel(const char* symname, Int_t& layer, Int_t& level)
 given the symbolic name set layer and level

Int_t GetNSisters(const char* symname)
 number of volumes on same level

Int_t GetNDaughters(const char* symname)
 number of daughter volumes

AliITSMisAligner()
~AliITSMisAligner()
{}
void SetSeed(Int_t seed)
{fRnd.SetSeed(seed); return;}
void SetWholeITSPars(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
void SetSPDSectorSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
void SetSPDHSSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
void SetSPDLadderSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
void SetSPDHBSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
void SetSPDBarrelSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
void SetSDDLayerSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
void SetSDDBarrelSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
void SetSDDLadderSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
void SetSDDModuleSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
void SetSSDBarrelPars(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
void SetSSDLadderSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
void SetSSDModuleSigmas(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
void SetSPDLadderShiftT(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
void SetSPDLadderShiftB(Double_t dx, Double_t dy, Double_t dz, Double_t dpsi, Double_t dtheta, Double_t dphi)
void SetSPDLadderShiftT(Double_t* pars)
void SetSPDLadderShiftB(Double_t* pars)
Double_t GetUnif(Double_t x1, Double_t x2)
{return fRnd.Uniform(x1,x2);}
Int_t GetNLayers()
{return kNLayers;}
Int_t GetNLadders(Int_t lay)
{return fgkNLadders[lay];}
Int_t GetNDetectors(Int_t lay)
{return fgkNDetectors[lay];}
AliITSMisAligner & operator=(const AliITSMisAligner& mAligner)