AliITSgeom() | |
AliITSgeom(const AliITSgeom& source) | |
AliITSgeom(Int_t itype, Int_t nlayers, const Int_t* nlads, const Int_t* ndets, Int_t nmods) | |
virtual | ~AliITSgeom() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TObject::Clear(Option_t* = "") |
virtual TObject* | TObject::Clone(const char* newname = "") const |
virtual Int_t | TObject::Compare(const TObject* obj) const |
virtual void | TObject::Copy(TObject& object) const |
void | CreateMatrix(Int_t mod, Int_t lay, Int_t lad, Int_t det, AliITSDetector idet, const Double_t* tran, const Double_t* rot) |
virtual void | TObject::Delete(Option_t* option = "")MENU |
void | DetLToTrackingV2(Int_t md, Float_t xin, Float_t zin, Float_t& yout, Float_t& zout) const |
Double_t | Distance(Int_t index, const Double_t* g) const |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
void | GetAngles(Int_t index, Double_t* ang) const |
void | GetAngles(Int_t index, Float_t& rx, Float_t& ry, Float_t& rz) const |
void | GetAngles(Int_t lay, Int_t lad, Int_t det, Float_t& rx, Float_t& ry, Float_t& rz) const |
void | GetCenterThetaPhi(Int_t lay, Int_t lad, Int_t det, TVector& x) const |
const char* | GetDetectorTypeName(Int_t index) const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
void | GetGeantAngles(Int_t index, Double_t* ang) const |
AliITSgeomMatrix* | GetGeomMatrix(Int_t index) |
AliITSgeomMatrix* | GetGeomMatrix(Int_t index) const |
void | GetGlobalNormal(Int_t index, Double_t* n) |
virtual const char* | TObject::GetIconName() const |
Int_t | GetIndexMax() const |
Int_t | GetLastDet(Int_t dtype) const |
Int_t | GetLastSDD() const |
Int_t | GetLastSPD() const |
Int_t | GetLastSSD() const |
void | GetModuleId(Int_t index, Int_t& lay, Int_t& lad, Int_t& det) const |
Int_t | GetModuleIndex(const Int_t* id) const |
Int_t | GetModuleIndex(Int_t lay, Int_t lad, Int_t det) const |
AliITSDetector | GetModuleType(Int_t index) const |
const char* | GetModuleTypeName(Int_t index) const |
virtual const char* | TObject::GetName() const |
Int_t | GetNdetectors(Int_t lay) const |
Int_t | GetNDetTypes() const |
Int_t | GetNDetTypes(Int_t& max) const |
Int_t | GetNDetTypes(TArrayI& maxs, AliITSDetector* types) const |
Int_t | GetNearest(const Double_t* g, Int_t lay = 0) const |
void | GetNearest27(const Double_t* g, Int_t* n, Int_t lay = 0) const |
Int_t | GetNladders(Int_t lay) const |
Int_t | GetNlayers() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
void | GetRotMatrix(Int_t index, Double_t** mat) const |
void | GetRotMatrix(Int_t index, Double_t* mat) const |
void | GetRotMatrix(Int_t index, Float_t* mat) const |
void | GetRotMatrix(Int_t lay, Int_t lad, Int_t det, Float_t* mat) const |
void | GetRotMatrix(Int_t lay, Int_t lad, Int_t det, Double_t* mat) const |
Int_t | GetStartDet(Int_t dtype) const |
Int_t | GetStartSDD() const |
Int_t | GetStartSPD() const |
Int_t | GetStartSSD() const |
virtual const char* | TObject::GetTitle() const |
void | GetTrans(Int_t index, Double_t* t) const |
void | GetTrans(Int_t index, Float_t& x, Float_t& y, Float_t& z) const |
void | GetTrans(Int_t lay, Int_t lad, Int_t det, Float_t& x, Float_t& y, Float_t& z) const |
void | GetTransCyln(Int_t index, Double_t* t) const |
void | GetTransCyln(Int_t index, Float_t& x, Float_t& y, Float_t& z) const |
void | GetTransCyln(Int_t lay, Int_t lad, Int_t det, Float_t& x, Float_t& y, Float_t& z) const |
Int_t | GetTransformationType() const |
virtual UInt_t | TObject::GetUniqueID() const |
void | GtoL(const Int_t* id, const Float_t* g, Float_t* l) const |
void | GtoL(Int_t index, const Float_t* g, Float_t* l) const |
void | GtoL(const Int_t* id, const Double_t* g, Double_t* l) const |
void | GtoL(Int_t index, const Double_t* g, Double_t* l) const |
void | GtoL(Int_t lay, Int_t lad, Int_t det, const Float_t* g, Float_t* l) const |
void | GtoL(Int_t lay, Int_t lad, Int_t det, const Double_t* g, Double_t* l) const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TObject::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
void | Init(Int_t itype, Int_t nlayers, const Int_t* nlads, const Int_t* ndets, Int_t mods) |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | IsGeantToDisplaced() const |
Bool_t | IsGeantToGeant() const |
Bool_t | IsGeantToTracking() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TObject::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::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) |
AliITSgeom& | operator=(const AliITSgeom& source) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TObject::Print(Option_t* option = "") const |
void | PrintData(FILE* fp, Int_t lay, Int_t lad, Int_t det) const |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
void | SetByAngles(Int_t index, const Double_t* a) |
void | SetByAngles(Int_t index, Float_t rx, Float_t ry, Float_t rz) |
void | SetByAngles(Int_t lay, Int_t lad, Int_t det, Float_t rx, Float_t ry, Float_t rz) |
void | SetByGeantAngles(Int_t index, const Double_t* ang) |
void | SetByGeantAngles(const Int_t* id, const Double_t* ang) |
void | SetByGeantAngles(Int_t lay, Int_t lad, Int_t det, const Double_t* ang) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | SetRotMatrix(Int_t index, const Double_t* mat) |
void | SetTrans(Int_t index, Double_t* x) |
void | SetTrans(Int_t lay, Int_t lad, Int_t det, Float_t x, Float_t y, Float_t z) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector&) |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
void | TrackingV2ToDetL(Int_t md, Float_t yin, Float_t zin, Float_t& xout, Float_t& zout) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
TObjArray | fGm | Structure of translation. and rotation. |
TArrayI | fNdet | Array of the number of detector/ladder(layer) |
TArrayI | fNlad | Array of the number of ladders/layer(layer) |
Int_t | fNlayers | The number of layers. |
Int_t | fNmodules | The total number of modules |
Int_t | fTrans | Flag to keep track of which transformation |
TString | fVersion | Transformation version. |
Inheritance Chart: | ||||||||
|
The default constructor for the AliITSgeom class. It, by default, sets fNlayers to zero and zeros all pointers. Do not allocate anything zero everything. Inputs: none. Outputs: none. Return: a zeroed AliITSgeom object.
A simple constructor to set basic geometry class variables Inputs: Int_t itype the type of transformation kept. bit 0 => Standard GEANT bit 1 => ITS tracking bit 2 => A change in the coordinate system has been made. others are still to be defined as needed. Int_t nlayers The number of ITS layers also set the size of the arrays Int_t *nlads an array of the number of ladders for each layer. This array must be nlayers long. Int_t *ndets an array of the number of detectors per ladder for each layer. This array must be nlayers long. Int_t mods The number of modules. Typically the sum of all the detectors on every layer and ladder. Outputs: none Return: A properly inilized AliITSgeom object.
A simple Inilizer to set basic geometry class variables Inputs: Int_t itype the type of transformation kept. bit 0 => Standard GEANT bit 1 => ITS tracking bit 2 => A change in the coordinate system has been made. others are still to be defined as needed. Int_t nlayers The number of ITS layers also set the size of the arrays Int_t *nlads an array of the number of ladders for each layer. This array must be nlayers long. Int_t *ndets an array of the number of detectors per ladder for each layer. This array must be nlayers long. Int_t mods The number of modules. Typically the sum of all the detectors on every layer and ladder. Outputs: none Return: A properly inilized AliITSgeom object.
Given the translation vector tran[3] and the rotation matrix rot[1], this function creates and adds to the TObject Array fGm the AliITSgeomMatrix object. The rot[10] matrix is set up like: / rot[0] rot[1] rot[2] \ // | rot[3] rot[4] rot[5] | // \ rot[6] rot[7] rot[8] / if(rot[9]!=0) then the Identity matrix // is used regardless of the values in rot[0]-rot[8]. Inputs: Int_t mod The module number. The location in TObjArray Int_t lay The layer where this module is Int_t lad On which ladder this module is Int_t det Which detector on this ladder this module is AliITSDetector idet The type of detector see AliITSgeom.h Double_t tran[3] The translation vector Double_t rot[10] The rotation matrix. Outputs: none Return: none.
The destructor for the AliITSgeom class. If the arrays fNlad, fNdet, or fGm have had memory allocated to them, there pointer values are non zero, then this memory space is freed and they are set to zero. In addition, fNlayers is set to zero. The destruction of Inputs: none. Outputs: none. Return: none.
translation and rotation. The copy constructor for the AliITSgeom class. It calls the = operator function. See the = operator function for more details. Inputs: AliITSgeom &source The AliITSgeom class with which to make this a copy of. Outputs: none. Return: none.
The = operator function for the AliITSgeom class. It makes an independent copy of the class in such a way that any changes made to the copied class will not affect the source class in any way. This is required for many ITS alignment studies where the copied class is then modified by introducing some misalignment. Inputs: AliITSgeom &source The AliITSgeom class with which to make this a copy of. Outputs: none. Return: *this The a new copy of source.
This routine computes the module index number from the layer, ladder, and detector numbers. The number of ladders and detectors per layer is determined when this geometry package is constructed, see AliITSgeom(const char *filename) for specifics. Inputs: Int_t lay The layer number. Starting from 1. Int_t lad The ladder number. Starting from 1. Int_t det The detector number. Starting from 1. Outputs: none. Return: the module index number, starting from zero.
This routine computes the layer, ladder and detector number given the module index number. The number of ladders and detectors per layer is determined when this geometry package is constructed, see AliITSgeom(const char *filename) for specifics. Inputs: Int_t index The module index number, starting from zero. Outputs: Int_t lay The layer number. Starting from 1. Int_t lad The ladder number. Starting from 1. Int_t det The detector number. Starting from 1. Return: none.
Finds and returns the number of detector types used and the maximum detector type value. Only counts id >=0 (no undefined values. See AliITSgeom.h for list of AliITSDetecor enumerated types. Inputs: none. Outputs: The maximum detector type used Return: The number of detector types used
Finds and returns the number of detector types used and the number of each detector type. Only counts id >=0 (no undefined values. See AliITSgeom.h for list of AliITSDetecor enumerated types. Inputs: none. Outputs: The maximum detector type used Return: The number of detector types used
returns the starting module index value for a give type of detector id. This assumes that the detector types are different on different layers and that they are not mixed up. Inputs: Int_t dtype A detector type number. 0 for SPD, 1 for SDD, and 2 for SSD. Outputs: none. Return: the module index for the first occurrence of that detector type.
returns the last module index value for a give type of detector id. This assumes that the detector types are different on different layers and that they are not mixed up. Inputs: Int_t dtype A detector type number. 0 for SPD, 1 for SDD, and 2 for SSD. Outputs: Return: the module index for the last occurrence of that detector type.
This function prints out the coordinate transformations for the particular detector defined by layer, ladder, and detector to the file pointed to by the File pointer fp. fprintf statements are used to print out the numbers. The format is layer ladder detector Trans= fx0 fy0 fz0 rot= frx fry frz Shape=fShapeIndex dfr= fr[0] fr[1] fr[2] dfr= fr[3] fr[4] fr[5] dfr= fr[6] fr[7] fr[8] By indicating which detector, some control over the information is given to the user. The output it written to the file pointed to by the file pointer fp. This can be set to stdout if you want. Inputs: FILE *fp A file pointer to an opened file for writing in which the results of the comparison will be written. Int_t lay The layer number. Starting from 1. Int_t lad The ladder number. Starting from 1. Int_t det The detector number. Starting from 1. Outputs: none Return: none.
Finds the Detector (Module) that is nearest the point g [cm] in ALICE Global coordinates. If layer !=0 then the search is restricted to Detectors (Modules) in that particular layer. Inputs: Double_t g[3] The ALICE Cartesian global coordinate from which the distance is to be calculated with. Int_t lay The layer to restrict the search to. If layer=0 then all layers are searched. Default is lay=0. Output: none. Return: The module number representing the nearest module.
Finds 27 Detectors (Modules) that are nearest the point g [cm] in ALICE Global coordinates. If layer !=0 then the search is restricted to Detectors (Modules) in that particular layer. The number 27 comes from including the nearest detector and all those around it (up, down, left, right, forwards, backwards, and the corners). Input: Double_t g[3] The ALICE Cartesian global coordinate from which the distance is to be calculated with. Int_t lay The layer to restrict the search to. If layer=0 then all layers are searched. Default is lay=0. Output: Int_t n[27] The module number representing the nearest 27 modules in order. Return: none.
Conversion from local coordinates on detectors to local coordinates used for tracking ("v2") Inputs: Int_t md Module number Float_t xin Standard local coordinate x Float_t zin Standard local coordinate z Output: Float_t yout Tracking local coordinate y Float_t zout Tracking local coordinate z Return: none.
Conversion from local coordinates used for tracking ("v2") to local detector coordinates Inputs: Int_t md Module number Float_t yin Tracking local coordinate y Float_t zin Tracking local coordinate z Output: Float_t xout Standard local coordinate x Float_t zout Standard local coordinate z Return: none.
returns kTRUE if the transformation defined by this class is for Global GEANT coordinate system to the local GEANT coordinate system of the detector. These are the transformation used by GEANT.
{return (fTrans == 0);}
returns kTRUE if the transformation defined by this class is for Global GEANT coordinate system to the local "Tracking" coordinate system of the detector. These are the transformation used by the Tracking code.
{return ((fTrans&0xfffe)!= 0);}
returns kTRUE if the transformation defined by this class is for Global GEANT coordinate system to the local GEANT coordinate system of the detector but may have been displaced by some typically small amount. These are modified transformation similar to that used by GEANT.
{return ((fTrans&0xfffd)!= 0);}
This function returns a pointer to the particular AliITSgeomMatrix class for a specific module index.
This function find and return the number of detector types only.
{Int_t max;return GetNDetTypes(max);}
This function returns the number of detectors/ladder for a give layer. In particular it returns fNdet[layer-1].
{return fNdet[lay-1];}
This function returns the number of ladders for a give layer. In particular it returns fNlad[layer-1].
{return fNlad[lay-1];}
This function returns the number of layers defined in the ITS geometry. In particular it returns fNlayers.
{return fNlayers;}
This function returns the module index number given the layer, ladder and detector numbers put into the array id[3].
Returns the detector type Int_t GetModuleType(Int_t index)const{ return GetGeomMatrix(index)->GetDetectorIndex();}
Returns the starting module index number for SPD detector,
assuming the modules are placed in the "standard" cylindrical
ITS structure.
{return GetStartDet(kSPD);}
Returns the ending module index number for SPD detector,
assuming the modules are placed in the "standard" cylindrical
ITS structure.
{return GetLastDet(kSPD);}
Returns the starting module index number for SDD detector,
assuming the modules are placed in the "standard" cylindrical
ITS structure.
{return GetStartDet(kSDD);}
Returns the ending module index number for SDD detector,
assuming the modules are placed in the "standard" cylindrical
ITS structure.
{return GetLastDet(kSDD);}
Returns the starting module index number for SSD detector,
assuming the modules are placed in the "standard" cylindrical
ITS structure.
{return GetStartDet(kSSD);}
Returns the ending module index number for SSD detector,
assuming the modules are placed in the "standard" cylindrical
ITS structure.
{return GetLastDet(kSSD);}
This function returns the rotation angles for a give module in the Double point array ang[3]. The angles are in radians
This function returns the rotation angles for a give module in the three floating point variables provided. rx = frx, fy = fry, rz = frz. The angles are in radians
This function returns the rotation angles for a give detector on a give ladder in a give layer in the three floating point variables provided. rx = frx, fy = fry, rz = frz. The angles are in radians
This function returns the 6 GEANT rotation angles for a give module in the double point array ang[3]. The angles are in degrees
This function returns the Cartesian translation for a give module in the Double array t[3]. The units are those of the Monte Carlo, generally cm.
This function returns the Cartesian translation for a give module index in the three floating point variables provided. x = fx0, y = fy0, z = fz0. The units are those of the Mont Carlo, generally cm.
This function returns the Cartesian translation for a give detector on a give ladder in a give layer in the three floating point variables provided. x = fx0, y = fy0, z = fz0. The units are those of the Monte Carlo, generally cm.
This function returns the Cartesian translation for a give module in the Double array t[3]. The units are those of the Monte Carlo, generally cm.
This function returns the Cartesian translation for a give module index in the three floating point variables provided. x = fx0, y = fy0, z = fz0. The units are those of the Mont Carlo, generally cm.
This function returns the Cartesian translation for a give detector on a give ladder in a give layer in the three floating point variables provided. x = fx0, y = fy0, z = fz0. The units are those of the Monte Carlo, generally cm.
This function returns the Cartesian translation [cm] and the 6 GEANT rotation angles [degrees]for a given layer ladder and detector number, in the TVector x (at least 9 elements large). This function is required to be in-lined for speed.
This function returns the rotation matrix in Double precision for a given module.
This function returns the rotation matrix in a Double precision pointer for a given module. mat[i][j] => mat[3*i+j].
This function returns the rotation matrix in a floating precision pointer for a given layer ladder and detector module. mat[i][j] => mat[3*i+j].
This function returns the rotation matrix in a Double precision pointer for a given layer ladder and detector module. mat[i][j] => mat[3*i+j].
This function sets the rotation matrix in a Double precision pointer for a given module. mat[i][j] => mat[3*i+j].
Setters Sets the rotation angles and matrix for a give module index via the double precision array a[3] [radians].
Sets the rotation angles and matrix for a give module index via the 3 floating precision variables rx, ry, and rz [radians].
Sets the rotation angles and matrix for a give layer, ladder, and detector numbers via the 3 floating precision variables rx, ry, and rz [radians].
Sets the rotation angles and matrix for a give module index via the Double precision array a[6] [degree]. The angles are those defined by GEANT 3.12.
Sets the rotation angles and matrix for a give layer, ladder and detector, in the array id[3] via the Double precision array a[6] [degree]. The angles are those defined by GEANT 3.12.
Sets the rotation angles and matrix for a give layer, ladder and detector, via the Double precision array a[6] [degree]. The angles are those defined by GEANT 3.12.
This function sets a new translation vector, given by the array x[3], for the Cartesian coordinate transformation for a give module index.
This function sets a new translation vector, given by the three variables x, y, and z, for the Cartesian coordinate transformation for the detector defined by layer, ladder and detector.
transformations Transforms from the ALICE Global coordinate system to the detector local coordinate system for the detector defined by the layer, ladder, and detector numbers. The global and local coordinate are given in two floating point arrays g[3], and l[3].
Transforms from the ALICE Global coordinate system to the detector local coordinate system for the detector defined by the id[0], id[1], and id[2] numbers. The global and local coordinate are given in two floating point arrays g[3], and l[3].
Transforms from the ALICE Global coordinate system to the detector local coordinate system for the detector module index number. The global and local coordinate are given in two floating point arrays g[3], and l[3].
Transforms from the ALICE Global coordinate system to the detector local coordinate system for the detector defined by the layer, ladder, and detector numbers. The global and local coordinate are given in two Double point arrays g[3], and l[3].
Transforms from the ALICE Global coordinate system to the detector local coordinate system for the detector defined by the id[0], id[1], and id[2] numbers. The global and local coordinate are given in two Double point arrays g[3], and l[3].
Returns the distance [cm] between the point g[3] and the center of the detector/module specified by the the module index number.