Fork me on GitHub

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • display/Delphes3DGeometry.h

    r77e9ae1 rf53a4d2  
    2020#define Delphes3DGeometry_h
    2121
     22#include <set>
    2223#include <map>
    23 #include <set>
    2424#include <vector>
    2525
     
    3333// TODO: asymmetric detector
    3434
    35 class Delphes3DGeometry
    36 {
    37 public:
    38   Delphes3DGeometry(TGeoManager *geom = NULL, bool transp = false);
    39   ~Delphes3DGeometry() {}
     35class Delphes3DGeometry {
     36   public:
     37     Delphes3DGeometry(TGeoManager *geom = NULL, bool transp = false);
     38     ~Delphes3DGeometry() {}
    4039
    41   void readFile(const char *filename, const char *ParticlePropagator = "ParticlePropagator",
    42     const char *TrackingEfficiency = "ChargedHadronTrackingEfficiency",
    43     const char *MuonEfficiency = "MuonEfficiency",
    44     const char *Calorimeters = "Calorimeter");
     40     void readFile(const char *filename, const char *ParticlePropagator="ParticlePropagator",
     41                                         const char *TrackingEfficiency="ChargedHadronTrackingEfficiency",
     42                                         const char *MuonEfficiency="MuonEfficiency",
     43                                         const char *Calorimeters="Calorimeter");
    4544
    46   void setContingency(Double_t contingency) { contingency_ = contingency; }
    47   void setCaloBarrelThickness(Double_t thickness) { calo_barrel_thickness_ = thickness; }
    48   void setCaloEndcapThickness(Double_t thickness) { calo_endcap_thickness_ = thickness; }
    49   void setMuonSystemThickness(Double_t thickness) { muonSystem_thickn_ = thickness; }
     45     void setContingency(Double_t contingency) { contingency_ = contingency; }
     46     void setCaloBarrelThickness(Double_t thickness) { calo_barrel_thickness_ = thickness; }
     47     void setCaloEndcapThickness(Double_t thickness) { calo_endcap_thickness_ = thickness; }
     48     void setMuonSystemThickness(Double_t thickness) { muonSystem_thickn_ = thickness; }
    5049
    51   TGeoVolume *getDetector(bool withTowers = true);
     50     TGeoVolume *getDetector(bool withTowers = true);
    5251
    53   Double_t getTrackerRadius() const { return tk_radius_; }
    54   Double_t getDetectorRadius() const { return muonSystem_radius_; }
    55   Double_t getTrackerHalfLength() const { return tk_length_; }
    56   Double_t getDetectorHalfLength() const { return muonSystem_length_; }
    57   Double_t getBField() const { return tk_Bz_; }
    58   std::pair<TAxis *, TAxis *> getCaloAxes() { return std::make_pair(etaAxis_, phiAxis_); }
     52     Double_t getTrackerRadius() const { return tk_radius_; }
     53     Double_t getDetectorRadius() const { return muonSystem_radius_; }
     54     Double_t getTrackerHalfLength() const { return tk_length_; }
     55     Double_t getDetectorHalfLength() const { return muonSystem_length_; }
     56     Double_t getBField() const { return tk_Bz_; }
     57     std::pair<TAxis*, TAxis*> getCaloAxes() { return std::make_pair(etaAxis_,phiAxis_); }
    5958
    60 private:
    61   std::pair<Double_t, Double_t> addTracker(TGeoVolume *top);
    62   std::pair<Double_t, Double_t> addCalorimeter(TGeoVolume *top, const char *name, Double_t innerBarrelRadius, Double_t innerBarrelLength, std::set<std::pair<Double_t, Int_t> > &caloBinning);
    63   std::pair<Double_t, Double_t> addMuonDets(TGeoVolume *top, const char *name, Double_t innerBarrelRadius, Double_t innerBarrelLength);
    64   void addCaloTowers(TGeoVolume *top, const char *name, Double_t innerBarrelRadius, Double_t innerBarrelLength, std::set<std::pair<Double_t, Int_t> > &caloBinning);
     59   private:
     60     std::pair<Double_t, Double_t> addTracker(TGeoVolume *top);
     61     std::pair<Double_t, Double_t> addCalorimeter(TGeoVolume *top, const char *name, Double_t innerBarrelRadius, Double_t innerBarrelLength, std::set< std::pair<Double_t, Int_t> >& caloBinning);
     62     std::pair<Double_t, Double_t> addMuonDets(TGeoVolume *top, const char *name, Double_t innerBarrelRadius, Double_t innerBarrelLength);
     63     void addCaloTowers(TGeoVolume *top, const char *name, Double_t innerBarrelRadius, Double_t innerBarrelLength, std::set< std::pair<Double_t, Int_t> >& caloBinning);
    6564
    66 private:
    67   TGeoManager *geom_;
     65   private:
    6866
    69   TGeoMedium *vacuum_;
    70   TGeoMedium *tkmed_;
    71   TGeoMedium *calomed_;
    72   TGeoMedium *mudetmed_;
     67     TGeoManager *geom_;
    7368
    74   TAxis *etaAxis_;
    75   TAxis *phiAxis_;
     69     TGeoMedium *vacuum_;
     70     TGeoMedium *tkmed_;
     71     TGeoMedium *calomed_;
     72     TGeoMedium *mudetmed_;
    7673
    77   Double_t contingency_;
    78   Double_t calo_barrel_thickness_;
    79   Double_t calo_endcap_thickness_;
    80   Double_t muonSystem_thickn_;
    81   Double_t muonSystem_radius_;
    82   Double_t muonSystem_length_;
    83   Double_t tk_radius_;
    84   Double_t tk_length_;
    85   Double_t tk_etamax_;
    86   Double_t tk_Bz_;
     74     TAxis *etaAxis_;
     75     TAxis *phiAxis_;
    8776
    88   std::vector<std::string> calorimeters_;
    89   std::vector<std::string> muondets_;
     77     Double_t contingency_;
     78     Double_t calo_barrel_thickness_;
     79     Double_t calo_endcap_thickness_;
     80     Double_t muonSystem_thickn_;
     81     Double_t muonSystem_radius_;
     82     Double_t muonSystem_length_;
     83     Double_t tk_radius_;
     84     Double_t tk_length_;
     85     Double_t tk_etamax_;
     86     Double_t tk_Bz_;
    9087
    91   std::map<std::string, Double_t> muonSystem_etamax_;
    92   std::map<std::string, std::set<std::pair<Double_t, Int_t> > > caloBinning_;
     88     std::vector<std::string> calorimeters_;
     89     std::vector<std::string> muondets_;
     90
     91     std::map<std::string, Double_t> muonSystem_etamax_;
     92     std::map<std::string, std::set< std::pair<Double_t, Int_t> > > caloBinning_;
     93
    9394};
    9495
Note: See TracChangeset for help on using the changeset viewer.