ROOT logo
AliRoot » EMCAL » AliEMCALShishKebabTrd1Module

class AliEMCALShishKebabTrd1Module: public TNamed

 Main class for TRD1 geometry of Shish-Kebab case.
 Author: Alexei Pavlinov(WSU).
 Sep 20004 - Nov 2006; Apr 2010
 See web page with description of Shish-Kebab geometries:
 http://pdsfweb01.nersc.gov/~pavlinov/ALICE/SHISHKEBAB/RES/shishkebabALICE.html
 Nov 9,2006 - added case of 3X3

Function Members (Methods)

public:
AliEMCALShishKebabTrd1Module(AliEMCALShishKebabTrd1Module& leftNeighbor)
AliEMCALShishKebabTrd1Module(const AliEMCALShishKebabTrd1Module& mod)
AliEMCALShishKebabTrd1Module(Double_t theta = 0.0, AliEMCALEMCGeometry* g = 0)
virtual~AliEMCALShishKebabTrd1Module()
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 voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
voidDefineAllStaff()
voidDefineFirstModule(const Int_t key = 0)
voidDefineName(Double_t theta)
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 voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tGetA() const
Double_tGetB() const
Double_tGetb() const
TVector2&GetCenterOfCellInLocalCoordinateofSM(Int_t ieta)
voidGetCenterOfCellInLocalCoordinateofSM(Int_t ieta, Double_t& xr, Double_t& zr, Int_t pri = 0) const
voidGetCenterOfCellInLocalCoordinateofSM1X1(Double_t& xr, Double_t& zr) const
voidGetCenterOfCellInLocalCoordinateofSM3X3(Int_t ieta, Double_t& xr, Double_t& zr) const
TVector2&GetCenterOfModule()
TVector2&GetCenterOfModuleFace()
TVector2&GetCenterOfModuleFace(Int_t ieta)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Double_tGetEtaOfCenterOfModule() const
virtual const char*TObject::GetIconName() const
Double_tGetMaxEtaOfModule(int pri = 0) const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TVector2GetORB() const
TVector2GetORT() const
Bool_tGetParameters()
voidGetPositionAtCenterCellLine(Int_t ieta, Double_t dist, TVector2& v)
Double_tGetPosX() const
Double_tGetPosXfromR() const
Double_tGetPosZ() const
Double_tGetRadius() const
Double_tGetTanBetta() const
Double_tGetTheta() const
Double_tGetThetaInDegree() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::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
voidInit(Double_t A, Double_t B)
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_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::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)
AliEMCALShishKebabTrd1Module&operator=(const AliEMCALShishKebabTrd1Module&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidPrintShish(Int_t pri = 1) constMENU
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)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
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
static Double_tThetaToEta(Double_t theta)
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:
Double_tfAparameters of right line : y = A*z + B
Double_tfBsystem where zero point is IP.
AliEMCALEMCGeometry*fGeometry!
TStringTNamed::fNameobject identifier
TVector2fOBmodule
TVector2fOB1ieta=1
TVector2fOB2ieta=0
TVector2fOKposition the module center in ALICE system; x->y; z->x;
TVector2fOK1ieta=1
TVector2fOK2ieta=0
TVector2fOK3X3[3]
TVector2fORBposition of right/bottom point of module
TVector2fORTposition of right/top point of module
Double_tfThetatheta angle of perpendicular to SK module
Double_tfThetaAangle coresponding fA - for convinience
Double_tfThetaOB1theta of cell center line (go through OB1)
Double_tfThetaOB2theta of cell center line (go through OB2)
TStringTNamed::fTitleobject title
static Double_tfga2*dx1=2*dy1
static Double_tfga22*dx2
static Double_tfganglein rad (1.5 degree)
static Double_tfgb2*dz1
static Double_tfgrradius to IP
static Double_tfgtanBettatan(fgangle/2.)

Class Charts

Inheritance Chart:
TNamed
AliEMCALShishKebabTrd1Module

Function documentation

AliEMCALShishKebabTrd1Module(Double_t theta = 0.0, AliEMCALEMCGeometry* g = 0)
 ctor
AliEMCALShishKebabTrd1Module(AliEMCALShishKebabTrd1Module& leftNeighbor)
AliEMCALShishKebabTrd1Module(const AliEMCALShishKebabTrd1Module& mod)
 copy ctor
void Init(Double_t A, Double_t B)
 Define parameter module from parameters A,B from previos.
void DefineAllStaff()
Define some parameters
void DefineFirstModule(const Int_t key = 0)
    Oct 23-25, 2010
  key=0 - zero tilt of first module;
  key=1 - angle=fgangle/2 = 0.75 degree.
  This is what we have in produced SM.
void DefineName(Double_t theta)
 Define name of object
Bool_t GetParameters()
void PrintShish(Int_t pri = 1) const
 service method
Double_t GetThetaInDegree() const
Double_t GetEtaOfCenterOfModule() const
void GetPositionAtCenterCellLine(Int_t ieta, Double_t dist, TVector2& v)
 Jul 30, 2007
Double_t GetMaxEtaOfModule(int pri = 0) const
 Right bottom point of module
virtual ~AliEMCALShishKebabTrd1Module(void)
{}
Double_t GetTheta() const
{return fTheta;}
TVector2& GetCenterOfModule()
{return fOK;}
Double_t GetPosX() const
{return fOK.Y();}
Double_t GetPosZ() const
{return fOK.X();}
Double_t GetPosXfromR() const
{return fOK.Y() - fgr;}
Double_t GetA() const
{return fA;}
Double_t GetB() const
{return fB;}
Double_t GetRadius() const
{return fgr;}
TVector2 GetORB() const
{return fORB;}
TVector2 GetORT() const
  Additional offline staff
  ieta=0 or 1 - Jun 02, 2006
{return fORT;}
TVector2& GetCenterOfCellInLocalCoordinateofSM(Int_t ieta)
void GetCenterOfCellInLocalCoordinateofSM(Int_t ieta, Double_t& xr, Double_t& zr, Int_t pri = 0) const
void GetCenterOfCellInLocalCoordinateofSM3X3(Int_t ieta, Double_t& xr, Double_t& zr) const
void GetCenterOfCellInLocalCoordinateofSM1X1(Double_t& xr, Double_t& zr) const
TVector2& GetCenterOfModuleFace()
 15-may-06
{return fOB;}
TVector2& GetCenterOfModuleFace(Int_t ieta)
Double_t GetTanBetta() const
{return fgtanBetta;}
Double_t Getb() const
 service methods
{return fgb;}
Double_t ThetaToEta(Double_t theta)
{return -TMath::Log(TMath::Tan(theta/2.));}