]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTriggerCircuit.cxx
Implementation of ITS tracking for HLT. The tracking is based on the off-line AliITSt...
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerCircuit.cxx
index 05f15c0f7dbab907516ed6d62af95ef4cc0d74b2..767dfc3909aa2341e261c069ca257b00200db61f 100644 (file)
  * about the suitability of this software for any purpose. It is          *
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
-/*
-$Log$
-Revision 1.8  2001/03/20 13:32:37  egangler
-includes cleanup
 
-Revision 1.7  2000/10/02 16:58:29  egangler
-Cleaning of the code :
--> coding conventions
--> void Streamers
--> some useless includes removed or replaced by "class" statement
+/* $Id$ */
 
-Revision 1.6  2000/07/13 16:19:44  fca
-Mainly coding conventions + some small bug fixes
-
-Revision 1.5  2000/07/03 11:54:57  morsch
-AliMUONSegmentation and AliMUONHitMap have been replaced by AliSegmentation and AliHitMap in STEER
-The methods GetPadIxy and GetPadXxy of AliMUONSegmentation have changed name to GetPadI and GetPadC.
-
-Revision 1.4  2000/06/28 15:16:35  morsch
-(1) Client code adapted to new method signatures in AliMUONSegmentation (see comments there)
-to allow development of slat-muon chamber simulation and reconstruction code in the MUON
-framework. The changes should have no side effects (mostly dummy arguments).
-(2) Hit disintegration uses 3-dim hit coordinates to allow simulation
-of chambers with overlapping modules (MakePadHits, Disintegration).
-
-Revision 1.3  2000/06/26 10:04:49  pcrochet
-problem with HP compiler solved (PH), static variables removed : now defined in AliMUONTriggerConstants
-
-*/
+#include <TMath.h>
 
+#include "AliMUONTriggerCircuit.h"
 #include "AliRun.h"
 #include "AliMUON.h"
-#include "AliMUONTriggerCircuit.h"
 #include "AliMUONTriggerConstants.h"
 #include "AliSegmentation.h"
-#include "AliMUONResponse.h"
 #include "AliMUONChamber.h"
-#include "TMath.h"
-#include "Riostream.h"
+#include "AliMUONConstants.h"
+#include "AliLog.h"
 
 ClassImp(AliMUONTriggerCircuit)
 
 //----------------------------------------------------------------------
-AliMUONTriggerCircuit::AliMUONTriggerCircuit() 
+AliMUONTriggerCircuit::AliMUONTriggerCircuit()
+  : TObject() 
 {
 // Constructor
   fSegmentation=0;
@@ -76,16 +51,25 @@ AliMUONTriggerCircuit::AliMUONTriggerCircuit()
 }
 
 //----------------------------------------------------------------------
-AliMUONTriggerCircuit::AliMUONTriggerCircuit(const AliMUONTriggerCircuit& MUONTriggerCircuit)
+AliMUONTriggerCircuit::AliMUONTriggerCircuit(const AliMUONTriggerCircuit& theMUONTriggerCircuit)
+  : TObject(theMUONTriggerCircuit)
 {
-// Dummy copy constructor
+// Protected copy constructor
+
+  AliFatal("Not implemented.");
 }
 
 //----------------------------------------------------------------------
-AliMUONTriggerCircuit & AliMUONTriggerCircuit::operator=(const AliMUONTriggerCircuit& MUONTriggerCircuit)
+AliMUONTriggerCircuit & 
+AliMUONTriggerCircuit::operator=(const AliMUONTriggerCircuit& rhs)
 {
-// Dummy assignment operator
-    return *this;
+// Protected assignement operator
+
+  if (this == &rhs) return *this;
+
+  AliFatal("Not implemented.");
+    
+  return *this;  
 }
 
 //----------------------------------------------------------------------
@@ -100,7 +84,7 @@ void AliMUONTriggerCircuit::Init(Int_t iCircuit) {
 }
 
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::CircuitNumber(Int_t idCircuit){
+Int_t AliMUONTriggerCircuit::CircuitNumber(Int_t idCircuit) const {
 // returns circuit number iCircuit (0-234) corresponding to circuit idCircuit
   Int_t iCircuit=0;
   for (Int_t i=0; i<234; i++) {
@@ -112,7 +96,7 @@ Int_t AliMUONTriggerCircuit::CircuitNumber(Int_t idCircuit){
   return iCircuit;
 }
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::ModuleNumber(Int_t idModule){
+Int_t AliMUONTriggerCircuit::ModuleNumber(Int_t idModule) const {
 // returns module number imod (from 0 to 63) corresponding to module idmodule
   Int_t absidModule=TMath::Abs(idModule);
   Int_t iModule=0;
@@ -126,12 +110,12 @@ Int_t AliMUONTriggerCircuit::ModuleNumber(Int_t idModule){
 }
 
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::Module(Int_t idCircuit) {
+Int_t AliMUONTriggerCircuit::Module(Int_t idCircuit) const {
 // returns ModuleId where Circuit idCircuit is sitting
   return Int_t(idCircuit/10);
 }
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::Position(Int_t idCircuit) {
+Int_t AliMUONTriggerCircuit::Position(Int_t idCircuit) const {
 // returns position of idCircuit in correcponding Module
   return TMath::Abs(idCircuit)-TMath::Abs(Module(idCircuit))*10;
 }
@@ -382,7 +366,7 @@ void AliMUONTriggerCircuit::LoadXPos(){
 // second case : mixing 8 and 16 strips within same circuit      
   } else {
     for (istrip=0; istrip<nStrY; istrip++) {
-      if (nStrY!=8) { cout << " bug in LoadXpos " << "\n";}
+      if (nStrY!=8) { printf(" bug in LoadXpos \n");}
       segmentation->GetPadC(idModule,istrip,x,y,z); 
       fXpos11[2*istrip]=x-width/4.;
       fXpos11[2*istrip+1]=fXpos11[2*istrip]+width/2.;
@@ -402,7 +386,9 @@ Float_t AliMUONTriggerCircuit::PtCal(Int_t istripX, Int_t idev, Int_t istripY){
   Float_t yPosX2=fYpos21[istripX2];
   Float_t xPosY1=fXpos11[istripY];
   
-  Float_t zf=975., z1=1603.5, z2=1703.5;
+  Float_t zf=975.;
+  Float_t z1=AliMUONConstants::DefaultChamberZ(10);
+  Float_t z2=AliMUONConstants::DefaultChamberZ(12);
   Float_t thetaDev=(1./zf)*(yPosX1*z2-yPosX2*z1)/(z2-z1);
   Float_t xf=xPosY1*zf/z1; 
   Float_t yf=yPosX2-((yPosX2-yPosX1)*(z2-zf))/(z2-z1);
@@ -412,39 +398,39 @@ Float_t AliMUONTriggerCircuit::PtCal(Int_t istripX, Int_t idev, Int_t istripY){
 //----------------------------------------------------------------------
 //--- methods which return member data related info
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::GetIdCircuit(){ 
+Int_t AliMUONTriggerCircuit::GetIdCircuit() const 
 // returns circuit Id
   return fIdCircuit;
 }
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::GetIdModule(){ 
+Int_t AliMUONTriggerCircuit::GetIdModule() const 
 // returns module Id
   return Module(fIdCircuit);
 }
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::GetNstripX() { 
+Int_t AliMUONTriggerCircuit::GetNstripX() const 
 // returns the number of X strips in the module where the circuit is sitting
   return AliMUONTriggerConstants::NstripX(ModuleNumber(Module(fIdCircuit)));
 }
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::GetNstripY() { 
+Int_t AliMUONTriggerCircuit::GetNstripY() const 
 // returns the number of Y strips in the module where the circuit is sitting
   return AliMUONTriggerConstants::NstripY(ModuleNumber(Module(fIdCircuit)));
 }
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::GetPosCircuit() { 
+Int_t AliMUONTriggerCircuit::GetPosCircuit() const 
 // returns the position of the circuit in its module
   return Position(fIdCircuit);
 }
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::GetIdCircuitD(){
+Int_t AliMUONTriggerCircuit::GetIdCircuitD() const {
 // returns the Id of the circuit down 
   Int_t idModule=Module(fIdCircuit);
   Int_t idModuleD=(TMath::Abs(idModule)+10)*(TMath::Abs(idModule)/idModule); 
   return (TMath::Abs(idModuleD)*10+1)*(TMath::Abs(idModule)/idModule);
 }
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::GetICircuitD(){
+Int_t AliMUONTriggerCircuit::GetICircuitD() const {
 // returns the number of the circuit down 
   Int_t idModule=Module(fIdCircuit);
   Int_t idModuleD=(TMath::Abs(idModule)+10)*(TMath::Abs(idModule)/idModule); 
@@ -453,14 +439,14 @@ Int_t AliMUONTriggerCircuit::GetICircuitD(){
   return CircuitNumber(idCircuitD);
 }
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::GetIdCircuitU(){
+Int_t AliMUONTriggerCircuit::GetIdCircuitU() const {
 // returns the Id of the circuit up 
   Int_t idModule=Module(fIdCircuit);
   Int_t idModuleU=(TMath::Abs(idModule)-10)*(TMath::Abs(idModule)/idModule); 
   return (TMath::Abs(idModuleU)*10+1)*(TMath::Abs(idModule)/idModule);
 }
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::GetICircuitU(){
+Int_t AliMUONTriggerCircuit::GetICircuitU() const {
 // returns the number of the circuit up 
   Int_t idModule=Module(fIdCircuit);
   Int_t idModuleU=(TMath::Abs(idModule)-10)*(TMath::Abs(idModule)/idModule); 
@@ -469,43 +455,43 @@ Int_t AliMUONTriggerCircuit::GetICircuitU(){
   return CircuitNumber(idCircuitU);
 }
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::GetX2m(){ 
+Int_t AliMUONTriggerCircuit::GetX2m() const 
 // returns fX2m
   return fX2m;
 }
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::GetX2ud(){ 
+Int_t AliMUONTriggerCircuit::GetX2ud() const 
 // returns fX2ud
   return fX2ud;
 }
 //----------------------------------------------------------------------
-void AliMUONTriggerCircuit::GetOrMud(Int_t orMud[2]){
+void AliMUONTriggerCircuit::GetOrMud(Int_t orMud[2]) const {
 // returns fOrMud 
   orMud[0]=fOrMud[0];
   orMud[1]=fOrMud[1];
 }
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::GetXcode(Int_t chamber, Int_t istrip){
+Int_t AliMUONTriggerCircuit::GetXcode(Int_t chamber, Int_t istrip) const {
 // returns X code of circuit/chamber/istrip (warning : chamber in [0,3])
   return fXcode[chamber][istrip];
 }
 //----------------------------------------------------------------------
-Int_t AliMUONTriggerCircuit::GetYcode(Int_t chamber, Int_t istrip){
+Int_t AliMUONTriggerCircuit::GetYcode(Int_t chamber, Int_t istrip) const {
 // returns Y code of circuit/chamber/istrip (warning : chamber in [0,3])
   return fYcode[chamber][istrip];
 }
 //----------------------------------------------------------------------
-Float_t AliMUONTriggerCircuit::GetY11Pos(Int_t istrip){
+Float_t AliMUONTriggerCircuit::GetY11Pos(Int_t istrip) const {
 // returns Y position of X strip istrip in MC11
   return fYpos11[istrip];
 }
 //----------------------------------------------------------------------
-Float_t AliMUONTriggerCircuit::GetY21Pos(Int_t istrip){
+Float_t AliMUONTriggerCircuit::GetY21Pos(Int_t istrip) const {
 // returns Y position of X strip istrip in MC21
   return fYpos21[istrip];
 }
 //----------------------------------------------------------------------
-Float_t AliMUONTriggerCircuit::GetX11Pos(Int_t istrip){
+Float_t AliMUONTriggerCircuit::GetX11Pos(Int_t istrip) const {
 // returns X position of Y strip istrip in MC11
   return fXpos11[istrip];
 }