AliRoot Core  edcc906 (edcc906)
AliEMCALSurvey Class Reference

Read survey data and create alignement. More...

#include <AliEMCALSurvey.h>

Inheritance diagram for AliEMCALSurvey:

Classes

struct  AliEMCALSuperModuleDelta
 

Public Types

enum  SurveyDataType_t { kSurvey = 0, kDummy = 1 }
 

Public Member Functions

 AliEMCALSurvey ()
 Default constructor. More...
 
 AliEMCALSurvey (const TString &txtFileName, const SurveyDataType_t dataType=kSurvey)
 
virtual ~AliEMCALSurvey ()
 Destructor. More...
 
void CreateAliAlignObjParams (TClonesArray &array)
 Create AliAlignObjParams. More...
 
void CreateNullObjects (TClonesArray &alObj, const AliEMCALGeometry *geom) const
 Create null shifts and rotations. More...
 
void SetDataType (const SurveyDataType_t dataType)
 
Int_t GetDataType () const
 

Protected Member Functions

void InitSuperModuleData (const Double_t *xReal, const Double_t *yReal, const Double_t *zReal, const Double_t *psiReal, const Double_t *thetaReal, const Double_t *phiReal)
 
void InitSuperModuleData (const TObjArray *surveypoints)
 

Protected Attributes

Int_t fNSuperModule
 Number of supermodules. More...
 
AliEMCALSuperModuleDeltafSuperModuleData
 Supermodule transformation data. More...
 

Private Member Functions

virtual AliEMCALSuperModuleDelta GetSuperModuleTransformation (Int_t smIndex) const
 Supermodule transformation. More...
 
 AliEMCALSurvey (const AliEMCALSurvey &)
 
AliEMCALSurveyoperator= (const AliEMCALSurvey &)
 

Private Attributes

Int_t fDataType
 ! which date type (survey or dummy) to use More...
 

Detailed Description

Read survey data and create alignement.

Objects of this class read txt file with survey data and convert the data into AliAlignObjParams of alignable EMCAL volumes. AliEMCALSurvey inherits TObject only to use AliLog "functions".

Dummy functions originally written before EMCAL installation and survey are kept for backward compatibility, but now they are not used.

Surveyed points on the EMCAL support rails were used with the CATIA 3D graphics program to determine the positions of the bottom corners of the active area for each supermodule. These numbers are read in from file and converted to position of the center and roll, pitch, yaw angles of each installed SM.

Author
J.L. Klay, Cal Poly
Adapted for DCAL by M.L. Wang CCNU & Subatech Oct-19-2012

Definition at line 40 of file AliEMCALSurvey.h.

Member Enumeration Documentation

Enumerator
kSurvey 

use real survey parameters

kDummy 

use dummy values for testing

Definition at line 45 of file AliEMCALSurvey.h.

Constructor & Destructor Documentation

AliEMCALSurvey::AliEMCALSurvey ( )

Default constructor.

Definition at line 39 of file AliEMCALSurvey.cxx.

AliEMCALSurvey::AliEMCALSurvey ( const TString &  txtFileName,
const SurveyDataType_t  type = kSurvey 
)

Get the geometry object and then attempt to read survey data from a file, depending on which method (kSurvey or kDummy) is selected.

Definition at line 65 of file AliEMCALSurvey.cxx.

AliEMCALSurvey::~AliEMCALSurvey ( )
virtual

Destructor.

Definition at line 146 of file AliEMCALSurvey.cxx.

AliEMCALSurvey::AliEMCALSurvey ( const AliEMCALSurvey )
private

Member Function Documentation

void AliEMCALSurvey::CreateAliAlignObjParams ( TClonesArray &  array)

Create AliAlignObjParams.

Definition at line 154 of file AliEMCALSurvey.cxx.

Referenced by MakeEMCALFullMisAlignment().

void AliEMCALSurvey::CreateNullObjects ( TClonesArray &  alObj,
const AliEMCALGeometry geom 
) const

Create null shifts and rotations.

Definition at line 229 of file AliEMCALSurvey.cxx.

Referenced by CreateAliAlignObjParams(), and MakeEMCALZeroMisAlignment().

Int_t AliEMCALSurvey::GetDataType ( ) const
inline

Definition at line 63 of file AliEMCALSurvey.h.

AliEMCALSurvey::AliEMCALSuperModuleDelta AliEMCALSurvey::GetSuperModuleTransformation ( Int_t  smIndex) const
privatevirtual

Supermodule transformation.

Definition at line 268 of file AliEMCALSurvey.cxx.

Referenced by CreateAliAlignObjParams().

void AliEMCALSurvey::InitSuperModuleData ( const Double_t *  xReal,
const Double_t *  yReal,
const Double_t *  zReal,
const Double_t *  psiReal,
const Double_t *  thetaReal,
const Double_t *  phiReal 
)
protected

Dummy method just takes the inputted values and applies them

Useful for testing small changes

Definition at line 561 of file AliEMCALSurvey.cxx.

Referenced by AliEMCALSurvey().

void AliEMCALSurvey::InitSuperModuleData ( const TObjArray svypts)
protected

This method uses the data points from the EMCAL survey and CATIA program to create the alignment matrices. Only valid for (installed) SM, others will have null objects


The bottom edges of the strip modules define the active area of the EMCAL, but in software we have a box to hold them which is longer than that. We need to convert info about the position of the corners of the bottom of the active area to the center of the software box that contains the strip modules.

View from beam axis up to EMCAL Ai Ci

0,1 0,0 1,0 1,1 xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx x x x x x x x x % * x x * % x x x x x x x x xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx 1,1 1,0 0,0 0,1 <–> = added length <–> = added length

  • represents the center of the active area % represents the center of the full box (with added length)

View from side of topmost SM

Ai Ci

0,1 0,0 1,0 1,1 xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx x x % * x x % * x x xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx 1,1 1,0 0,0 0,1 <–> = added length <–> = added length

  • represents the center of the active area % represents the center of the full box (with added length)

Definition at line 324 of file AliEMCALSurvey.cxx.

AliEMCALSurvey& AliEMCALSurvey::operator= ( const AliEMCALSurvey )
private
void AliEMCALSurvey::SetDataType ( const SurveyDataType_t  dataType)
inline

Definition at line 62 of file AliEMCALSurvey.h.

Member Data Documentation

Int_t AliEMCALSurvey::fDataType
private

! which date type (survey or dummy) to use

Definition at line 91 of file AliEMCALSurvey.h.

Referenced by AliEMCALSurvey(), GetDataType(), and SetDataType().

Int_t AliEMCALSurvey::fNSuperModule
protected

Number of supermodules.

Definition at line 76 of file AliEMCALSurvey.h.

Referenced by AliEMCALSurvey(), and InitSuperModuleData().

AliEMCALSuperModuleDelta* AliEMCALSurvey::fSuperModuleData
protected

Supermodule transformation data.

Definition at line 77 of file AliEMCALSurvey.h.

Referenced by GetSuperModuleTransformation(), InitSuperModuleData(), and ~AliEMCALSurvey().


The documentation for this class was generated from the following files: