ROOT logo
AliRoot » ITS » AliITSsegmentationSSD

class AliITSsegmentationSSD: public AliITSsegmentation

Segmentation class for
silicon strips


Function Members (Methods)

public:
AliITSsegmentationSSD(Option_t* opt = "")
AliITSsegmentationSSD(const AliITSsegmentationSSD& source)
virtual~AliITSsegmentationSSD()
voidTObject::AbstractMethod(const char* method) const
virtual voidAngles(Float_t& aP, Float_t& aN) 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 TF1*AliITSsegmentation::CorrFunc()
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual voidDetToLocal(Int_t ix, Int_t iPN, Float_t& x, Float_t& z) const
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual Float_tDpx(Int_t) const
virtual Float_tDpz(Int_t) const
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual Float_tAliITSsegmentation::Dx() const
virtual Float_tAliITSsegmentation::Dy() const
virtual Float_tAliITSsegmentation::Dz() const
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 Int_tGetChipFromChannel(Int_t ix, Int_t iz) const
virtual Int_tGetChipFromLocal(Float_t xloc, Float_t zloc) const
virtual Int_tGetChipsInLocalWindow(Int_t* array, Float_t zmin, Float_t zmax, Float_t xmin, Float_t xmax) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual Int_tGetLayer() const
virtual Int_tGetMaximumChipIndex() const
virtual const char*TObject::GetName() const
virtual Int_tGetNPads() const
virtual Int_tGetNumberOfChips() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
voidGetPadCxz(Float_t iP, Float_t iN, Float_t& x, Float_t& z) const
virtual voidGetPadCxz(Int_t iP, Int_t iN, Float_t& x, Float_t& z) const
virtual voidGetPadIxz(Float_t x, Float_t z, Int_t& iP, Int_t& iN) const
virtual voidGetPadTxz(Float_t& x, Float_t& z) 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 voidInit()
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 Bool_tLocalToDet(Float_t x, Float_t z, Int_t& iP, Int_t& iN) const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual voidAliITSsegmentation::Neighbours(Int_t, Int_t, Int_t*, Int_t*, Int_t*) const
virtual Bool_tTObject::Notify()
virtual Int_tNpx() const
virtual Int_tNpz() const
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)
AliITSsegmentationSSD&operator=(const AliITSsegmentationSSD& source)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual voidPrintDefaultParameters() 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 = "")
virtual voidSetAngles(Float_t pa = 0.0075, Float_t na = 0.0275)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidAliITSsegmentation::SetCorrFunc(TF1* fc)
virtual voidAliITSsegmentation::SetDetSize(Float_t p1, Float_t p2, Float_t p3)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetLayer(Int_t l)
virtual voidSetNPads(Int_t p1, Int_t)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetPadSize(Float_t pitch, Float_t)
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
protected:
virtual voidCopy(TObject& obj) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

protected:
TF1*AliITSsegmentation::fCorrcorrection function
Float_tAliITSsegmentation::fDxSPD: Full width of the detector (x axis)- microns
Float_tAliITSsegmentation::fDySPD: Full thickness of the detector (y axis) -um
Float_tAliITSsegmentation::fDzSPD: Full length of the detector (z axis)- microns
Int_tfLayer! layer number (5 or 6)
Int_tfNstripsNumber of strips in x
Float_tfPitchPitch of the strips
Float_tfStereoNStereo angle for Nside (rad)
Float_tfStereoPStereo angle for Pside (rad)
static const Float_tfgkDxDefaultDefault value for fDx
static const Float_tfgkDyDefaultDefault value for fDy
static const Float_tfgkDzDefaultDefault value for fDz
static const Int_tfgkNchipsPerSidenumber of chips per side
static const Int_tfgkNstripsDefaultDefault value for fNstrips
static const Int_tfgkNstripsPerChipnumber of strips per chip
static const Float_tfgkPitchDefaultDefault value for fPitch

Class Charts

Inheritance Chart:
TObject
AliITSsegmentation
AliITSsegmentationSSD

Function documentation

AliITSsegmentationSSD(Option_t* opt = "")
 default constructor
void Copy(TObject& obj) const
 protected method. copy this to obj
AliITSsegmentationSSD& operator=(const AliITSsegmentationSSD& source)
 Operator =
AliITSsegmentationSSD(const AliITSsegmentationSSD& source)
 copy constructor
void Init()
 standard initalizer
void Angles(Float_t& aP, Float_t& aN) const
 P and N side stereo angles
void SetLayer(Int_t l)
set fLayer data member (only 5 or 6 are allowed)
void GetPadTxz(Float_t& x, Float_t& z) const
 returns P and N sided strip numbers for a given location.
 Transformation from microns detector center local coordinates
 to detector P and N side strip numbers..
                       _-  Z
                    + angle /    ^
        fNstrips           v     |   N-Side        ...0
            \-------/------------|-----------\--------\
            |\\\\\\/////////////.|\\\\\\\\\\\\\\\\\\\\|
            |0\\\\/////////////..|.\\\\\\\\\\\\\\\\\\\|
            |00\\/////////////...|..\\\\\\\\\\\\\\\\\\|
       X <--|000/////////////... |...\\\\\\\\\\\\\\\\\|
            |00/////////////...  | ...\\\\\\\\\\\\\\\\|
            |0/////////////...   |  ...\\\\\\\\\\\\\\\|
            |//////////////...   |  ...\\\\\\\\\\\\\\\|
            /-----\--------------|--------------------/
        fNstrips-1             P-Side              ...0
                     |0\
                     |00\
	Dead region: |000/
                     |00/
                     |0/
    // expects x, z in cm

void GetPadIxz(Float_t x, Float_t z, Int_t& iP, Int_t& iN) const
 returns P and N sided strip numbers for a given location.
 expects x, z in cm
void GetPadCxz(Float_t iP, Float_t iN, Float_t& x, Float_t& z) const
 actually this is the GetCrossing(Float_t &,Float_t &)
 returns local x, z  in cm
Bool_t LocalToDet(Float_t x, Float_t z, Int_t& iP, Int_t& iN) const
 Transformation from Geant cm detector center local coordinates
 to detector P and N side strip numbers..
                       _-  Z
                    + angle /    ^
        fNstrips           v     |   N-Side        ...0
            \-------/------------|-----------\--------\
            |\\\\\\/////////////.|\\\\\\\\\\\\\\\\\\\\|
            |0\\\\/////////////..|.\\\\\\\\\\\\\\\\\\\|
            |00\\/////////////...|..\\\\\\\\\\\\\\\\\\|
       X <--|000/////////////... |...\\\\\\\\\\\\\\\\\|
            |00/////////////...  | ...\\\\\\\\\\\\\\\\|
            |0/////////////...   |  ...\\\\\\\\\\\\\\\|
            |//////////////...   |  ...\\\\\\\\\\\\\\\|
            /-----\--------------|--------------------/
        fNstrips-1             P-Side              ...0
                     |0\
                     |00\
	Dead region: |000/
                     |00/
                     |0/

void DetToLocal(Int_t ix, Int_t iPN, Float_t& x, Float_t& z) const
 Transformation from detector segmentation/cell coordiantes starting
 from 0. iPN=0 for P side and 1 for N side strip. Returned is z=0.0
 and the corresponding x value..
                       _-  Z
                    + angle /    ^
        fNstrips           v     |   N-Side        ...0
            \-------/------------|-----------\--------\
            |\\\\\\/////////////.|\\\\\\\\\\\\\\\\\\\\|
            |0\\\\/////////////..|.\\\\\\\\\\\\\\\\\\\|
            |00\\/////////////...|..\\\\\\\\\\\\\\\\\\|
       X <--|000/////////////... |...\\\\\\\\\\\\\\\\\|
            |00/////////////...  | ...\\\\\\\\\\\\\\\\|
            |0/////////////...   |  ...\\\\\\\\\\\\\\\|
            |//////////////...   |  ...\\\\\\\\\\\\\\\|
            /-----\--------------|--------------------/
        fNstrips-1             P-Side              ...0
                     |0\
                     |00\
	Dead region: |000/
                     |00/
                     |0/

 for strips p-side
 x = a + b + z*tan(fStereoP); a = Dpx(iP)*(iP+0.5)-dx; b = dz*th;
 for strips n-side
 x = a + b + z*tan(fStereoP); a = Dpx(iN)*(iN+0.5)-dx; b = -dz*th;
Int_t GetChipFromChannel(Int_t ix, Int_t iz) const
 returns chip number (in range 0-11) starting from channel number
Int_t GetChipFromLocal(Float_t xloc, Float_t zloc) const
 returns chip numbers starting from local coordinates
 The two Nside chip number and Pside chip number are
 coded as chip=Nchip*10+Pchip
Int_t GetChipsInLocalWindow(Int_t* array, Float_t zmin, Float_t zmax, Float_t xmin, Float_t xmax) const
 returns chip number in a given xz window
void PrintDefaultParameters() const
 Print default values for parameters.
 Values specified as static const data members are shown
virtual ~AliITSsegmentationSSD()
{}
void SetPadSize(Float_t pitch, Float_t )
 Strip size
{fPitch=pitch;}
void SetNPads(Int_t p1, Int_t )
 Maximum number of strips along the two coordinates
{fNstrips=p1;}
Int_t GetNPads() const
 Returns the maximum number of cells (digits) posible
{return 2*fNstrips;}
void SetAngles(Float_t pa = 0.0075, Float_t na = 0.0275)
 Set stereo angles Pside-Nside
{fStereoP=pa; fStereoN=na;}
void GetPadCxz(Float_t iP, Float_t iN, Float_t& x, Float_t& z) const
 Transform from strips to real coordinates
Int_t GetNumberOfChips() const
Int_t GetMaximumChipIndex() const
Float_t Dpx(Int_t ) const
 Strip size in x
{return fPitch;}
Float_t Dpz(Int_t ) const
 Strip size in z
{return fDz;}
Int_t Npx() const
 Maximum number of Strips in x
{return fNstrips;}
Int_t Npz() const
 Maximum number of Strips in z
{return 1;}
Int_t GetLayer() const
 Print Default parameters
{return fLayer;}