ROOT logo
#ifndef HPIONTRACKERGEOMPAR_H
#define HPIONTRACKERGEOMPAR_H

#include "hparcond.h"
#include "hgeomtransform.h"
#include "TObjArray.h"

class HPionTrackerDetGeomPar :  public TObject {
private:
  Int_t          numStrips;     // number of strips in a detector plane           
  Float_t        stripDistance; // distance between strip centers
  HGeomTransform labTransform;  // lab transformation of the detector front plane
public:
 HPionTrackerDetGeomPar(void) : numStrips(0), stripDistance(0.F) {}
  ~HPionTrackerDetGeomPar(void) {}
  HGeomTransform& getLabTransform(void) {return labTransform;}
  void    print(void);
  Float_t getNumStrips(void)     const {return numStrips;}
  Float_t getStripDistance(void) const {return stripDistance;}
  void    setNumStrips(const Int_t n)       {numStrips = n;}
  void    setStripDistance(const Float_t d) {stripDistance = d;}
  Float_t getStripPos(const Float_t p) {
    // returns the strip position in local coordinate system (0.0 between strip 63 and 64)
    if (p>=0 && p<numStrips) return (p-63.5)*stripDistance;
    else return -1000.F;
  }
  ClassDef(HPionTrackerDetGeomPar,1) // Geometry of a Pion Tracker
}; 

class HPionTrackerGeomPar : public HParCond {
private:
  TObjArray* pDetectors;    // linear array of all detectors (type HPionTrackerDetGeomPar)
  Int_t      numDetectors;  // number of detectors
public:
  HPionTrackerGeomPar(const Char_t* name = "PionTrackerGeomPar",
                      const Char_t* title = "Geometry parameters of the PionTracker",
                      const Char_t* context = "GeomProduction");
  ~HPionTrackerGeomPar(void);

  void   clear(void);
  void   putParams(HParamList*);
  Bool_t getParams(HParamList*);
  void   printParams(void);

  Float_t getNumDetectors(void) const {return numDetectors;}
  Bool_t  setNumDetectors(const Int_t);
  HPionTrackerDetGeomPar* getDetector(const Int_t);

  ClassDef(HPionTrackerGeomPar, 1) // Container for the geometry parameters of the PionTracker
};

#endif  /*!HPIONTRACKERGEOMPAR_H*/
 hpiontrackergeompar.h:1
 hpiontrackergeompar.h:2
 hpiontrackergeompar.h:3
 hpiontrackergeompar.h:4
 hpiontrackergeompar.h:5
 hpiontrackergeompar.h:6
 hpiontrackergeompar.h:7
 hpiontrackergeompar.h:8
 hpiontrackergeompar.h:9
 hpiontrackergeompar.h:10
 hpiontrackergeompar.h:11
 hpiontrackergeompar.h:12
 hpiontrackergeompar.h:13
 hpiontrackergeompar.h:14
 hpiontrackergeompar.h:15
 hpiontrackergeompar.h:16
 hpiontrackergeompar.h:17
 hpiontrackergeompar.h:18
 hpiontrackergeompar.h:19
 hpiontrackergeompar.h:20
 hpiontrackergeompar.h:21
 hpiontrackergeompar.h:22
 hpiontrackergeompar.h:23
 hpiontrackergeompar.h:24
 hpiontrackergeompar.h:25
 hpiontrackergeompar.h:26
 hpiontrackergeompar.h:27
 hpiontrackergeompar.h:28
 hpiontrackergeompar.h:29
 hpiontrackergeompar.h:30
 hpiontrackergeompar.h:31
 hpiontrackergeompar.h:32
 hpiontrackergeompar.h:33
 hpiontrackergeompar.h:34
 hpiontrackergeompar.h:35
 hpiontrackergeompar.h:36
 hpiontrackergeompar.h:37
 hpiontrackergeompar.h:38
 hpiontrackergeompar.h:39
 hpiontrackergeompar.h:40
 hpiontrackergeompar.h:41
 hpiontrackergeompar.h:42
 hpiontrackergeompar.h:43
 hpiontrackergeompar.h:44
 hpiontrackergeompar.h:45
 hpiontrackergeompar.h:46
 hpiontrackergeompar.h:47
 hpiontrackergeompar.h:48
 hpiontrackergeompar.h:49
 hpiontrackergeompar.h:50
 hpiontrackergeompar.h:51
 hpiontrackergeompar.h:52