TrackerGeomBuilderFromGeometricDet

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
#ifndef Geometry_TrackerGeometryBuilder_TrackerGeomBuilderFromGeometricDet_H
#define Geometry_TrackerGeometryBuilder_TrackerGeomBuilderFromGeometricDet_H

#include <string>
#include <vector>
#include <map>
#include "Geometry/TrackerGeometryBuilder/interface/PlaneBuilderFromGeometricDet.h"
#include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h"
#include "Geometry/CommonDetUnit/interface/GeomDetType.h"
#include "CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h"

class TrackerGeometry;
class TrackerTopology;
class PixelGeomDetType;
class StripGeomDetType;
class PTrackerParameters;

class TrackerGeomBuilderFromGeometricDet {
public:
  TrackerGeometry* build(const GeometricDet* gd,
                         const PTrackerAdditionalParametersPerDet* ptitp,
                         const PTrackerParameters& ptp,
                         const TrackerTopology* tTopo);

private:
  void buildPixel(std::vector<const GeometricDet*> const&,
                  const PTrackerAdditionalParametersPerDet* const&,
                  TrackerGeometry*,
                  GeomDetType::SubDetector det,
                  int BIG_PIX_PER_ROC_X,
                  int BIG_PIX_PER_ROC_Y);
  void buildPixelPhase2(std::vector<const GeometricDet*> const&,
                        const PTrackerAdditionalParametersPerDet* const&,
                        TrackerGeometry*,
                        GeomDetType::SubDetector det);
  void buildSilicon(std::vector<const GeometricDet*> const&,
                    TrackerGeometry*,
                    GeomDetType::SubDetector det,
                    const std::string& part);
  void buildGeomDet(TrackerGeometry*);

  PlaneBuilderFromGeometricDet::ResultType buildPlaneWithMaterial(const GeometricDet* gd,
                                                                  double scaleFactor = 1.) const;

  std::map<std::string, const PixelGeomDetType*> thePixelDetTypeMap;
  std::map<std::string, const StripGeomDetType*> theStripDetTypeMap;
  const TrackerTopology* theTopo;
};

#endif