1 #ifndef SimG4CMS_CaloTrkProcessing_H 2 #define SimG4CMS_CaloTrkProcessing_H 13 #include "G4VTouchable.hh" 23 class G4LogicalVolume;
28 public Observer<const BeginOfEvent*>,
40 const std::vector<std::string>& fineNames,
41 const std::vector<int>& fineLevels,
42 const std::vector<int>& useFines,
47 bool ProcessHits(G4Step*, G4TouchableHistory*)
override {
return true; }
64 void update(
const G4Step*)
override;
65 int isItCalo(
const G4VTouchable*,
const std::vector<Detector>&);
70 G4LogicalVolume*
detLV(
const G4VTouchable*,
int)
const;
71 void detectorLevel(
const G4VTouchable*,
int&,
int*, G4String*)
const;
void update(const BeginOfEvent *evt) override
This routine will be called when the appropriate signal arrives.
void EndOfEvent(G4HCofThisEvent *) override
std::vector< PCaloHit > PCaloHitContainer
G4LogicalVolume * detLV(const G4VTouchable *, int) const
void detectorLevel(const G4VTouchable *, int &, int *, G4String *) const
int isItInside(const G4VTouchable *, int, int)
bool ProcessHits(G4Step *, G4TouchableHistory *) override
std::vector< int > fromLevels
std::vector< Detector > fineDetectors_
std::vector< G4LogicalVolume * > fromDetL
void fillHits(edm::PCaloHitContainer &, const std::string &) override
std::vector< std::string > fromDets
int detLevels(const G4VTouchable *) const
uint32_t setDetUnitId(const G4Step *step) override
CaloTrkProcessing(const std::string &aSDname, const CaloSimulationParameters &csps, const SensitiveDetectorCatalog &clg, bool testBeam, double eMin, bool putHistory, bool doFineCalo, double eMinFine, int addlevel, const std::vector< std::string > &fineNames, const std::vector< int > &fineLevels, const std::vector< int > &useFines, const SimTrackManager *)
int isItCalo(const G4VTouchable *, const std::vector< Detector > &)
~CaloTrkProcessing() override
void Initialize(G4HCofThisEvent *) override
void clearHits() override
std::vector< Detector > detectors_