Added functionalities in display the RICH event and pattern recognition. Minor bugs...
[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>
2e5f0f7b 19
20ClassImp(AliRICHChamber)
853634d3 21//______________________________________________________________________________
e42a7b46 22AliRICHChamber::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
1cb5a97c 32 fCenterX3.SetXYZ(490,0,0);fPcX3.SetXYZ(490+8-0.4,0,0);fRadX3.SetXYZ(490-2,0,0); //shift center along x by 490 cm
998b831f 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 67void AliRICHChamber::Print(Option_t *opt) const
853634d3 68{
e42a7b46 69// Debug printout
998b831f 70 ToAliInfo(fCenterX3.Print(opt));
53fd478b 71}//Print()
0ffe413c 72//__________________________________________________________________________________________________