LCOV - code coverage report
Current view: top level - TOF/TOFbase - AliTOFAlignment.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 2 50.0 %
Date: 2016-06-14 17:26:59 Functions: 1 6 16.7 %

          Line data    Source code
       1             : #ifndef ALITOFALIGNMENT_H
       2             : #define ALITOFALIGNMENT_H
       3             : 
       4             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       5             :  * See cxx source for full Copyright notice                               */
       6             : 
       7             : //////////////////////////////////////////////////////////////////
       8             : //  class for TOF Alignment::                                   //
       9             : //////////////////////////////////////////////////////////////////
      10             : //#include <TObject.h>
      11             : //#include <TString.h>
      12             : #include "TTask.h"
      13             : //#include "TGeoManager.h"
      14             : //#include "TGeoVolume.h"
      15             : //#include "TGeoBBox.h"
      16             : //#include "TGeoTrd1.h"
      17             : //#include "TGeoPhysicalNode.h"
      18             : //#include "TGeoNode.h"
      19             : //#include "TGeoMatrix.h"
      20             : 
      21             : class TGeoManager;
      22             : class TObjArray;
      23             : class TString;
      24             : class TGeoMatrix;
      25             : class TGeoManager;
      26             : class TGeoHMatrix;
      27             : 
      28             : class AliTOFAlignment :public TTask{
      29             : 
      30             :   enum {kMaxAlignObj=2000}; //maximal number of the TOF Alignable Objects
      31             : 
      32             :  public:
      33             : 
      34             :   AliTOFAlignment(); 
      35             :   AliTOFAlignment(const AliTOFAlignment &t); //Copy Ctor 
      36             :   AliTOFAlignment& operator=(const AliTOFAlignment &source); // Assignment Operator
      37             :   virtual ~AliTOFAlignment();
      38             :   virtual void WriteParOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun);
      39             :   virtual void ReadParFromCDB(const Char_t *sel, Int_t nrun);
      40             :   virtual void WriteSimParOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun);
      41             :   virtual void ReadSimParFromCDB(const Char_t *sel, Int_t nrun);
      42             :   virtual void Smear(Float_t * const tr=0, Float_t * const rot=0); // create a set of AlignObj for TOF
      43             :   virtual void Align(Float_t * const tr=0, Float_t * const rot=0); // create a set of AlignObj for TOF
      44           0 :   TObjArray * GetTOFAlignArray() const {return fTOFAlignObjArray;}
      45             : 
      46             :   //methods for survey
      47             :   virtual void WriteOnCDBforDC();
      48             :   virtual void ReadFromCDBforDC();
      49             :   virtual void BuildGeomForSurvey();      //Build ideal geometry (FTOA in BTOF)
      50             :   virtual void InsertMisAlignment(Float_t * const mis); //To test align. from Survey
      51             :   virtual void MakeDefData(const Int_t nf,TString namefiles[]); //Combines survey data from different files
      52             :   virtual void WriteCombData(const Char_t *nomefile, Int_t option); //Write combined data on a file 
      53             :   virtual void ReadSurveyDataAndAlign(); //Read survey data and call the right Alignement procedure  
      54             :   virtual void WriteSimSurveyData(const Char_t *nomefile); // Write sim data in standard format
      55             : 
      56             : private:
      57             :   
      58             :   static const Double_t fgkRorigTOF;  //Radius of the TOF ext. volume, cm
      59             :   static const Double_t fgkX1BTOF;    //x1 size of BTOF
      60             :   static const Double_t fgkX2BTOF;    //x2 size of BTOF
      61             :   static const Double_t fgkYBTOF;     //y size of BTOF
      62             :   static const Double_t fgkZBTOF;     //z size of BTOF
      63             :   
      64             :   // Four fiducial marks on SM, expressed in local coordinates (origin=center of TOF SM)
      65             :   // They are positioned at x=+/- 38 cm, y=+/- 457.3 cm, z=11.2 cm
      66             : 
      67             :   static const Double_t fgkXFM; //x pos of FM in BTOF, cm 
      68             :   static const Double_t fgkYFM; //y pos of FM in BTOF, cm
      69             :   static const Double_t fgkZFM; //z pos of FM in BTOF, cm
      70             :   
      71             :   Int_t fNTOFAlignObj;           //Number of Alignable Objects
      72             :   TGeoManager *fTOFmgr;          //Pointer to TGeoManager
      73             :   TObjArray *fTOFAlignObjArray;  //Pointer to the TOF alignable objects
      74             :   TGeoHMatrix* fTOFMatrixId[18]; //Ideal Matrices of TOF Volumes in the GRS
      75             :   Float_t fCombFMData[72][6];    //Combined survey data
      76             :   Int_t fNFMforSM[18][5];        //Number of FM for each SM
      77             : 
      78             :   void AlignFromSurveyABC(Int_t iSM);  //From Survey data of FM ABC, derive the needed transformations to get the Alignment Objects. 
      79             :   void AlignFromSurveyABD(Int_t iSM);  //From Survey data of FM ABD, derive the needed transformations to get the Alignment Objects. 
      80             :   void AlignFromSurveyACD(Int_t iSM);  //From Survey data of FM ACD, derive the needed transformations to get the Alignment Objects. 
      81             :   void AlignFromSurveyBCD(Int_t iSM);  //From Survey data of FM BCD, derive the needed transformations to get the Alignment Objects. 
      82             : 
      83          26 :   ClassDef(AliTOFAlignment,2)   // TOF Alignment 
      84             : };
      85             : 
      86             : #endif

Generated by: LCOV version 1.11