Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:17:50

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef G4DETECTORS_PHG4PSTOFDETECTOR_H
0004 #define G4DETECTORS_PHG4PSTOFDETECTOR_H
0005 
0006 #include <g4main/PHG4Detector.h>
0007 
0008 #include <map>
0009 #include <string>  // for string
0010 
0011 class G4LogicalVolume;
0012 class G4VPhysicalVolume;
0013 class PHCompositeNode;
0014 class PHParametersContainer;
0015 class PHG4Subsystem;
0016 
0017 class PHG4PSTOFDetector : public PHG4Detector
0018 {
0019  public:
0020   //! constructor
0021   PHG4PSTOFDetector(PHG4Subsystem *subsys, PHCompositeNode *Node, PHParametersContainer *params_array, const std::string &dnam);
0022 
0023   //! destructor
0024   ~PHG4PSTOFDetector() override = default;
0025 
0026   //! construct
0027   void ConstructMe(G4LogicalVolume *world) override;
0028 
0029   void Print(const std::string &what = "ALL") const override;
0030 
0031   //!@name volume accessors
0032   //@{
0033   int IsInPSTOF(G4VPhysicalVolume *) const;
0034   //@}
0035 
0036   void SuperDetector(const std::string &name) { superdetector = name; }
0037   const std::string &SuperDetector() const { return superdetector; }
0038 
0039  protected:
0040   int IsActive;
0041   int IsAbsorberActive;
0042   int nmod;
0043   int nrows;
0044   PHParametersContainer *paramscontainer;
0045   std::map<G4VPhysicalVolume *, int> active_phys_vols;
0046 
0047   std::string superdetector;
0048 };
0049 
0050 #endif