StFms  0.0.0
FMS software in the STAR framework
StFmsGeometry.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // $Log$
13 #ifndef STROOT_STFMSPOINTMAKER_STFMSGEOMETRY_H_
14 #define STROOT_STFMSPOINTMAKER_STFMSGEOMETRY_H_
15 
16 #include <map>
17 #include <vector>
18 
19 #include "TObject.h"
20 #include "TVector3.h"
21 
22 class fmsDetectorPosition_st;
23 class StFmsDbMaker;
24 
25 namespace FMSCluster { // $NMSPC
34  // FPD: forward pion detector, with preshower and shower-maximum detector
35  kFpdNorth = 0,
36  kFpdSouth = 1,
43  // FMS: forward meson spectrometer, with four subregions
48  // FHC: forward hadronic calorimeter (future detector)
49  kFhcNorth = 12,
50  kFhcSouth = 13,
52 };
53 
60 class StFmsGeometry : public TObject {
61  public:
63  StFmsGeometry();
73  Bool_t initialize(StFmsDbMaker* fmsDbMaker);
82  Float_t xOffset(Int_t detectorId) const;
91  Float_t yOffset(Int_t detectorId) const;
100  Float_t z(Int_t detectorId) const;
109  std::vector<Float_t> towerWidths(Int_t detectorId) const;
116  const fmsDetectorPosition_st* find(Int_t detectorId) const;
133  TVector3 localToGlobalCoordinates(Double_t x, Double_t y,
134  Int_t detectorId) const;
144  TVector3 columnRowToGlobalCoordinates(Double_t column, Double_t row,
145  Int_t detectorId) const;
149  static Bool_t isNorth(Int_t detectorId);
150 
151  private:
152  typedef std::map<int, const fmsDetectorPosition_st*> Table;
164  ClassDef(StFmsGeometry, 0)
165 }; // class StFmsGeometry
166 } // namespace FMSCluster
167 #endif // STROOT_STFMSPOINTMAKER_STFMSGEOMETRY_H_
Bool_t initialize(StFmsDbMaker *fmsDbMaker)
Table mPositions
Detector ID: position information pairs.
StFmsGeometry & operator=(const StFmsGeometry &)
static Bool_t isNorth(Int_t detectorId)
Float_t yOffset(Int_t detectorId) const
const fmsDetectorPosition_st * find(Int_t detectorId) const
Float_t z(Int_t detectorId) const
TVector3 localToGlobalCoordinates(Double_t x, Double_t y, Int_t detectorId) const
std::vector< Float_t > towerWidths(Int_t detectorId) const
TVector3 columnRowToGlobalCoordinates(Double_t column, Double_t row, Int_t detectorId) const
Float_t xOffset(Int_t detectorId) const
std::map< int, const fmsDetectorPosition_st * > Table