ROOT logo
#ifndef ALIMUONSURVEYCHAMBER_H
#define ALIMUONSURVEYCHAMBER_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/// \ingroup geometry
/// \class AliMUONSurveyChamber
/// \brief Class for survey of chambers (frames) of the muon spectrometer
//
// Authors: Javier Castillo

#include "AliMUONSurveyObj.h"

class TClonesArray;
class TH2;

class AliSurveyObj;

class AliMUONSurveyDetElem;

class AliMUONSurveyChamber: public AliMUONSurveyObj
{

 public:
  AliMUONSurveyChamber(Int_t lChamberId);
  virtual ~AliMUONSurveyChamber();

  virtual Int_t AddStickerTargets(TString stBaseName, Int_t lTargetMax = 9);
  virtual Int_t AddGButtonTargets(TString btBaseName, Int_t lTargetMax = 9);

  
  virtual Int_t AddStickerTargets(TObjArray *pArray, TString stBaseName, Int_t lTargetMax = 9);
  virtual Int_t AddGButtonTargets(TObjArray *pArray, TString btBaseName, Int_t lTargetMax = 9);
 
  Int_t AddSurveyDetElem(Int_t lDetElemId);
  /// Returns the number od detection elements of the chamber
  Int_t GetNDetElem() const  {return fNDetElem;}
  AliMUONSurveyDetElem* GetDetElem(Int_t lDetElemIndex);
  /// Returns the internal AliSurveyObj
  AliSurveyObj* GetSurveyObj() const {return fSurveyObj;}

  virtual void SetLocalTransformation(TGeoCombiTrans *localTrf, Bool_t ownerLocalTrf = kFALSE);

  void PrintSurveyReport();

  void FillCPSTHistograms(TString baseNameC, TH2 *hCPSTc, TString baseNameA="", TH2 *hCPSTa = 0);
  void FillDESTHistograms(TString baseNameC, TH2 *hCPSTc, TString baseNameA="", TH2 *hCPSTa = 0);

  Double_t GetMeanDetElemAlignResX(); 
  Double_t GetMeanDetElemAlignResY(); 

 private:
  /// Not implemented
  AliMUONSurveyChamber(const AliMUONSurveyChamber& right);
  /// Not implemented
  AliMUONSurveyChamber&  operator = (const AliMUONSurveyChamber& right);

  Int_t fChamberId;    ///< Chamber Id
  Int_t fNDetElem;     ///< Number of detection elements

  AliSurveyObj *fSurveyObj;     ///< Survey object containing the measurment
  TClonesArray *fSurveyDetElem; ///< Array of AliMUONSurveyDetElem

ClassDef(AliMUONSurveyChamber, 0) //Class for survey of muon spectrometer chambers
};

#endif
 AliMUONSurveyChamber.h:1
 AliMUONSurveyChamber.h:2
 AliMUONSurveyChamber.h:3
 AliMUONSurveyChamber.h:4
 AliMUONSurveyChamber.h:5
 AliMUONSurveyChamber.h:6
 AliMUONSurveyChamber.h:7
 AliMUONSurveyChamber.h:8
 AliMUONSurveyChamber.h:9
 AliMUONSurveyChamber.h:10
 AliMUONSurveyChamber.h:11
 AliMUONSurveyChamber.h:12
 AliMUONSurveyChamber.h:13
 AliMUONSurveyChamber.h:14
 AliMUONSurveyChamber.h:15
 AliMUONSurveyChamber.h:16
 AliMUONSurveyChamber.h:17
 AliMUONSurveyChamber.h:18
 AliMUONSurveyChamber.h:19
 AliMUONSurveyChamber.h:20
 AliMUONSurveyChamber.h:21
 AliMUONSurveyChamber.h:22
 AliMUONSurveyChamber.h:23
 AliMUONSurveyChamber.h:24
 AliMUONSurveyChamber.h:25
 AliMUONSurveyChamber.h:26
 AliMUONSurveyChamber.h:27
 AliMUONSurveyChamber.h:28
 AliMUONSurveyChamber.h:29
 AliMUONSurveyChamber.h:30
 AliMUONSurveyChamber.h:31
 AliMUONSurveyChamber.h:32
 AliMUONSurveyChamber.h:33
 AliMUONSurveyChamber.h:34
 AliMUONSurveyChamber.h:35
 AliMUONSurveyChamber.h:36
 AliMUONSurveyChamber.h:37
 AliMUONSurveyChamber.h:38
 AliMUONSurveyChamber.h:39
 AliMUONSurveyChamber.h:40
 AliMUONSurveyChamber.h:41
 AliMUONSurveyChamber.h:42
 AliMUONSurveyChamber.h:43
 AliMUONSurveyChamber.h:44
 AliMUONSurveyChamber.h:45
 AliMUONSurveyChamber.h:46
 AliMUONSurveyChamber.h:47
 AliMUONSurveyChamber.h:48
 AliMUONSurveyChamber.h:49
 AliMUONSurveyChamber.h:50
 AliMUONSurveyChamber.h:51
 AliMUONSurveyChamber.h:52
 AliMUONSurveyChamber.h:53
 AliMUONSurveyChamber.h:54
 AliMUONSurveyChamber.h:55
 AliMUONSurveyChamber.h:56
 AliMUONSurveyChamber.h:57
 AliMUONSurveyChamber.h:58
 AliMUONSurveyChamber.h:59
 AliMUONSurveyChamber.h:60
 AliMUONSurveyChamber.h:61
 AliMUONSurveyChamber.h:62
 AliMUONSurveyChamber.h:63
 AliMUONSurveyChamber.h:64
 AliMUONSurveyChamber.h:65
 AliMUONSurveyChamber.h:66
 AliMUONSurveyChamber.h:67