LCOV - code coverage report
Current view: top level - PHOS/PHOSbase - AliPHOSCpvParam.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 2 50.0 %
Date: 2016-06-14 17:26:59 Functions: 1 13 7.7 %

          Line data    Source code
       1             : #ifndef AliPHOSCPVParam_h
       2             : #define AliPHOSCPVParam_h
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : // Class provides a set of static methods to convert absolute number of pad to pair (X,Y) 
       7             : // and vice versa
       8             : // and some other
       9             : // Author - Mikhail Stolpovskiy, IHEP Protvino (2013)
      10             : 
      11             : #include <TNamed.h>        //base class
      12             : #include "AliPHOSCpv3GConnection.h"
      13             : 
      14           0 : class AliPHOSCpvParam :public TNamed  
      15             : {
      16             :  public:
      17             :   enum EChamberData{kMinCh=0,kMaxCh=0};      //Segmenation. CPV has only one chamber
      18             :   enum EPadxData{kPadPcX=128,kMinPx=0,kMaxPx=127};   //Segmentation structure along x
      19             :   enum EPadyData{kPadPcY=60 ,kMinPy=0,kMaxPy=59 };   //Segmentation structure along y 
      20             :   enum {
      21             :     kNRows       = 16,    // Number of rows (column controlers)
      22             :     kN3GAdd      = 10,    // Number of 3GASSIPLEXs in a row
      23             :     kNPadAdd     = 48,    // Number of pad row
      24             :     kNRowsPerSegment = 8, // Number of rows per segment
      25             :     kNDDL = 5,            // Number of already installed modules (ddls)
      26             :     kNModules = 5         // Number of modules (equals to the number of PHOS modules)
      27             :    };
      28             : 
      29             :   // x <=> phi
      30             :   // y <=> Z
      31             :   // But x-y is a local module axes (Int_t)
      32             : 
      33             :   static Bool_t IsValidAbs(Int_t abs);
      34             :   static Bool_t DecodeRawWord(Int_t ddl,Int_t rWord, Int_t & abs, Int_t & q, Int_t & eType);
      35             :   static Int_t Abs  (Int_t ddl,Int_t columnCtrl,Int_t gassiplex3,Int_t pad); // abs pad
      36             :   static Int_t A2DDL(Int_t abs) ;           // abs pad -> ddl
      37             :   static Int_t A2Mod(Int_t abs) ;           // abs -> number of module
      38             :   static Int_t DDL2Mod(Int_t ddl);
      39             :   static Int_t Mod2DDL(Int_t mod);
      40             :   static Int_t A2CC (Int_t abs) ;           // abs pad -> column controler
      41             :   static Int_t A23G (Int_t abs) ;           // abs pad -> number of 3gassiplex card
      42             :   static Int_t A2Pad(Int_t abs) ;           // abs pad -> number of pad in 3gassiplex
      43             :   static Int_t A2X  (Int_t abs) ;           // abs pad -> pad X
      44             :   static Int_t A2Y  (Int_t abs) ;           // abs pad -> pad Y
      45             :   static Int_t XY2A (Int_t ddl, Int_t x, Int_t y) ;    // pad X,Y -> abs pad  
      46             :   static Int_t X2CC (Int_t x) ;             // pad X -> number of column controller
      47             :   static Int_t Y23G (Int_t y) ;             // pad Y -> number of 3gassiplex card
      48             :   static Int_t XY2Pad (Int_t x, Int_t y) ;  // pad X,Y -> number of pad in 3gassiplex
      49             :   static Bool_t GetLimOfCConX( Int_t cc, Int_t &xmin, Int_t &xmax); // returns limits on X for column controler cc
      50             :   static Bool_t GetLimOf3GonY( Int_t g3, Int_t &ymin, Int_t &ymax); // returns limits on Y for 3gassiplex g3
      51             : 
      52             :   static Int_t A2fId(Int_t abs) ;           // returns number of channel with common PHOS+CPV numeration 
      53             : 
      54             :  private:
      55             :   // connection of channels of 3gassiplex to pads 
      56             :   static AliPHOSCpv3GConnection fConnection;
      57          22 :   ClassDef(AliPHOSCpvParam,1);           //CPV main parameters class
      58             : };
      59             : #endif

Generated by: LCOV version 1.11