1 #ifndef SimG4CMS_HCalSD_h 2 #define SimG4CMS_HCalSD_h 24 #include "G4String.hh" 31 class G4LogicalVolume;
43 virtual bool ProcessHits(G4Step * , G4TouchableHistory * );
56 uint32_t
setDetUnitId(
int,
const G4ThreeVector&,
int,
int);
77 double layerWeight(
int,
const G4ThreeVector&,
int,
int);
79 double edep,
double time,
int id);
80 void plotHF(G4ThreeVector& pos,
bool emType);
HCalSD(G4String, const DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
HFShowerParam * showerParam
void hitForFibre(G4Step *step, double weight)
void getFromParam(G4Step *step, double weight)
virtual void update(const BeginOfJob *)
This routine will be called when the appropriate signal arrives.
bool isItStraightBundle(G4LogicalVolume *)
virtual bool ProcessHits(G4Step *, G4TouchableHistory *)
std::vector< double > gpar
bool isItinFidVolume(G4ThreeVector &)
HFShowerFibreBundle * showerBundle
std::vector< G4LogicalVolume * > fibre1LV
std::vector< G4LogicalVolume * > fibreLV
std::vector< double > getDDDArray(const std::string &, const DDsvalues_type &)
virtual uint32_t setDetUnitId(G4Step *step)
int setTrackID(G4Step *step)
void getFromLibrary(G4Step *step, double weight)
void modifyDepth(HcalNumberingFromDDD::HcalID &id)
void setNumberingScheme(HcalNumberingScheme *)
type of data representation of DDCompactView
bool isItConicalBundle(G4LogicalVolume *)
std::vector< G4LogicalVolume * > pmtLV
std::vector< G4LogicalVolume * > hfLV
bool isItScintillator(G4Material *)
std::unique_ptr< HFDarkening > m_HFDarkening
virtual double getEnergyDeposit(G4Step *)
const HBHEDarkening * m_HEDarkening
void plotHF(G4ThreeVector &pos, bool emType)
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
std::maps an index to a DDValue. The index corresponds to the index assigned to the name of the std::...
HcalNumberingScheme * numberingScheme
void getHitPMT(G4Step *step)
std::vector< int > hfLevels
virtual std::vector< std::string > getNames()
void plotProfile(G4Step *step, const G4ThreeVector &pos, double edep, double time, int id)
bool isItPMT(G4LogicalVolume *)
void readWeightFromFile(std::string)
void getHitFibreBundle(G4Step *step, bool type)
HcalNumberingFromDDD * numberingFromDDD
double layerWeight(int, const G4ThreeVector &, int, int)
std::vector< std::vector< double > > tmp
std::vector< G4String > fibreNames
std::vector< G4Material * > materials
virtual bool filterHit(CaloG4Hit *, double)
std::vector< G4String > hfNames
std::map< uint32_t, double > layerWeights
HFShowerLibrary * showerLibrary
std::vector< G4LogicalVolume * > fibre2LV
const HBHEDarkening * m_HBDarkening
std::vector< G4String > matNames
bool isItFibre(G4LogicalVolume *)
HcalDDDSimConstants * hcalConstants