]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RICH/AliRICHChamber.cxx
Changes to avoid circular dependences between the libraries
[u/mrichter/AliRoot.git] / RICH / AliRICHChamber.cxx
CommitLineData
53fd478b 1// **************************************************************************
2// * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3// * *
4// * Author: The ALICE Off-line Project. *
5// * Contributors are mentioned in the code where appropriate. *
6// * *
7// * Permission to use, copy, modify and distribute this software and its *
8// * documentation strictly for non-commercial purposes is hereby granted *
9// * without fee, provided that the above copyright notice appears in all *
10// * copies and that both the copyright notice and this permission notice *
11// * appear in the supporting documentation. The authors make no claims *
12// * about the suitability of this software for any purpose. It is *
13// * provided "as is" without express or implied warranty. *
14// **************************************************************************
2e5f0f7b 15
2e5f0f7b 16#include "AliRICHChamber.h"
53fd478b 17#include <TRotMatrix.h>
998b831f 18#include <AliLog.h>
a25b3368 19#include "AliRICHParam.h"
2e5f0f7b 20
21ClassImp(AliRICHChamber)
853634d3 22//______________________________________________________________________________
e42a7b46 23AliRICHChamber::AliRICHChamber(Int_t iChamber):TNamed()
53fd478b 24{
25//main ctor. Defines all geometry parameters for the given module.
998b831f 26// 7 6 ^
27// 5 4 3 |
28// 2 1 |
29// <-----z y . x
a25b3368 30 if(iChamber!=0){ //if iChamber=0 then special test config: chamber without any shift and rotation
31 const Double_t kAngHor=19.5; // horizontal angle between chambers 19.5 grad
32 const Double_t kAngVer=20; // vertical angle between chambers 20 grad
33 const Double_t kAngCom=30; // common RICH rotation with respect to x axis 20 grad
998b831f 34
a25b3368 35 RotY(90);//rotate around y since initila position is in XY plane
36 fCenterX3.SetXYZ(490,0,0); //shift center along x by 490 cm
37 fPcX3.SetXYZ(490+8-0.2,0,0);//position of the center of apmlification gap (anod wires plane)
38 fRadX3.SetXYZ(490-2,0,0); //position of the entrance to freon
39 switch(iChamber){
40 case 1:
41 RotY(kAngHor); RotZ(-kAngVer); //right and down
42 break;
43 case 2:
44 RotZ(-kAngVer); //down
45 break;
46 case 3:
47 RotY(kAngHor); //right
48 break;
49 case 4:
50 break; //no rotation
51 case 5:
52 RotY(-kAngHor); //left
53 break;
54 case 6:
55 RotZ(kAngVer); //up
56 break;
57 case 7:
58 RotY(-kAngHor); RotZ(kAngVer); //left and up
59 break;
60 default:
61 Fatal("named ctor","Wrong chamber number %i, check CreateChamber ctor",iChamber);
62 }//switch(iChamber)
63 RotZ(kAngCom); //apply common rotation
64 }//if(iChamber
998b831f 65 fName=Form("RICHc%i",iChamber);fTitle=Form("RICH chamber %i",iChamber);
53fd478b 66 fpRotMatrix=new TRotMatrix("rot"+fName,"rot"+fName, Rot().ThetaX()*TMath::RadToDeg(), Rot().PhiX()*TMath::RadToDeg(),
67 Rot().ThetaY()*TMath::RadToDeg(), Rot().PhiY()*TMath::RadToDeg(),
68 Rot().ThetaZ()*TMath::RadToDeg(), Rot().PhiZ()*TMath::RadToDeg());
84365c70 69}//main ctor
0ffe413c 70//__________________________________________________________________________________________________
e42a7b46 71void AliRICHChamber::Print(Option_t *opt) const
853634d3 72{
e42a7b46 73// Debug printout
a25b3368 74 TNamed::Print(opt);
75 fCenterX3.Print(opt);
53fd478b 76}//Print()
0ffe413c 77//__________________________________________________________________________________________________