]>
Commit | Line | Data |
---|---|---|
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> |
2e5f0f7b | 19 | |
20 | ClassImp(AliRICHChamber) | |
853634d3 | 21 | //______________________________________________________________________________ |
e42a7b46 | 22 | AliRICHChamber::AliRICHChamber(Int_t iChamber):TNamed() |
53fd478b | 23 | { |
24 | //main ctor. Defines all geometry parameters for the given module. | |
998b831f | 25 | // 7 6 ^ |
26 | // 5 4 3 | | |
27 | // 2 1 | | |
28 | // <-----z y . x | |
29 | // horizontal angle between chambers 19.5 grad | |
30 | // vertical angle between chambers 20 grad | |
31 | RotY(90);//rotate around y | |
32 | fCenterX3.SetXYZ(490,0,0);fPcX3.SetXYZ(490+8,0,0);fRadX3.SetXYZ(490-2,0,0); //shift center along x by 490 cm | |
33 | ||
e42a7b46 | 34 | switch(iChamber){ |
998b831f | 35 | case 0: //special test beam configuration without rotation. |
36 | break; | |
37 | case 1: | |
38 | RotY(19.5); RotZ(-20); //right and down | |
853634d3 | 39 | break; |
40 | case 2: | |
998b831f | 41 | RotZ(-20); //down |
853634d3 | 42 | break; |
43 | case 3: | |
998b831f | 44 | RotY(19.5); //right |
853634d3 | 45 | break; |
3ea9cb08 | 46 | case 4: |
998b831f | 47 | break; //no rotation |
853634d3 | 48 | case 5: |
998b831f | 49 | RotY(-19.5); //left |
853634d3 | 50 | break; |
51 | case 6: | |
998b831f | 52 | RotZ(20); //up |
853634d3 | 53 | break; |
3ea9cb08 | 54 | case 7: |
998b831f | 55 | RotY(-19.5); RotZ(20); //left and up |
3ea9cb08 | 56 | break; |
853634d3 | 57 | default: |
e42a7b46 | 58 | Fatal("named ctor","Wrong chamber number %i, check CreateChamber ctor",iChamber); |
853634d3 | 59 | }//switch(iModuleN) |
998b831f | 60 | fName=Form("RICHc%i",iChamber);fTitle=Form("RICH chamber %i",iChamber); |
61 | RotZ(30); //apply common rotation | |
53fd478b | 62 | fpRotMatrix=new TRotMatrix("rot"+fName,"rot"+fName, Rot().ThetaX()*TMath::RadToDeg(), Rot().PhiX()*TMath::RadToDeg(), |
63 | Rot().ThetaY()*TMath::RadToDeg(), Rot().PhiY()*TMath::RadToDeg(), | |
64 | Rot().ThetaZ()*TMath::RadToDeg(), Rot().PhiZ()*TMath::RadToDeg()); | |
84365c70 | 65 | }//main ctor |
0ffe413c | 66 | //__________________________________________________________________________________________________ |
e42a7b46 | 67 | void AliRICHChamber::Print(Option_t *opt) const |
853634d3 | 68 | { |
e42a7b46 | 69 | // Debug printout |
998b831f | 70 | ToAliInfo(fCenterX3.Print(opt)); |
53fd478b | 71 | }//Print() |
0ffe413c | 72 | //__________________________________________________________________________________________________ |