1 #ifndef SimG4CMS_HCalSD_h 2 #define SimG4CMS_HCalSD_h 25 #include "G4String.hh" 31 class G4LogicalVolume;
60 std::vector<const G4LogicalVolume*>&,
61 std::vector<G4String>&);
63 uint32_t
setDetUnitId(
int,
const G4ThreeVector&,
int,
int);
67 bool isItHF(
const G4Step*);
68 bool isItHF(
const G4String&);
71 bool isItPMT(
const G4LogicalVolume*);
82 double layerWeight(
int,
const G4ThreeVector&,
int,
int);
83 void plotProfile(
const G4Step* step,
const G4ThreeVector&
pos,
double edep,
double time,
int id);
84 void plotHF(
const G4ThreeVector& pos,
bool emType);
void readWeightFromFile(const std::string &)
std::vector< const G4LogicalVolume * > hfLV
void hitForFibre(const G4Step *step)
const HcalDDDSimConstants * hcalConstants
std::unique_ptr< HFShowerParam > showerParam
std::vector< double > gpar
std::vector< double > getDDDArray(const std::string &, const DDsvalues_type &)
void plotProfile(const G4Step *step, const G4ThreeVector &pos, double edep, double time, int id)
std::vector< const G4LogicalVolume * > fibre2LV
void modifyDepth(HcalNumberingFromDDD::HcalID &id)
void update(const BeginOfJob *) override
This routine will be called when the appropriate signal arrives.
void setNumberingScheme(HcalNumberingScheme *)
Compact representation of the geometrical detector hierarchy.
std::unique_ptr< HFShowerPMT > showerPMT
bool isItConicalBundle(const G4LogicalVolume *)
std::unique_ptr< HcalNumberingFromDDD > numberingFromDDD
HCalSD(const std::string &, const DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
const std::vector< std::string > & getNames() const
~HCalSD() override=default
std::unique_ptr< HFDarkening > m_HFDarkening
const HBHEDarkening * m_HEDarkening
std::unique_ptr< HcalTestNS > m_HcalTestNS
void plotHF(const G4ThreeVector &pos, bool emType)
std::vector< int > hfLevels
void getFromParam(const G4Step *step, bool &isKilled)
void getFromHFLibrary(const G4Step *step, bool &isKilled)
uint32_t setDetUnitId(const G4Step *step) override
bool isItStraightBundle(const G4LogicalVolume *)
bool getFromLibrary(const G4Step *) override
std::vector< const G4LogicalVolume * > pmtLV
bool filterHit(CaloG4Hit *, double) override
void getHitFibreBundle(const G4Step *step, bool type)
double getEnergyDeposit(const G4Step *) override
std::unique_ptr< HFShowerFibreBundle > showerBundle
bool isItPMT(const G4LogicalVolume *)
bool isItinFidVolume(const G4ThreeVector &)
void getHitPMT(const G4Step *step)
std::unique_ptr< HFShowerLibrary > showerLibrary
double layerWeight(int, const G4ThreeVector &, int, int)
std::vector< std::vector< double > > tmp
std::map< uint32_t, double > layerWeights
bool isItHF(const G4Step *)
std::vector< G4String > fibreNames
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
bool isItScintillator(const G4Material *)
std::unique_ptr< HcalNumberingScheme > numberingScheme
std::vector< G4String > hfNames
std::unique_ptr< HFShower > hfshower
std::vector< const G4LogicalVolume * > fibreLV
std::vector< const G4LogicalVolume * > fibre1LV
std::vector< const G4Material * > materials
const HBHEDarkening * m_HBDarkening
std::vector< G4String > matNames
void update(const BeginOfRun *) override
This routine will be called when the appropriate signal arrives.
bool isItFibre(const G4LogicalVolume *)
void fillLogVolumeVector(const std::string &, const std::string &, const DDCompactView &, std::vector< const G4LogicalVolume * > &, std::vector< G4String > &)