7 #ifndef PPS_PPSDiamondSD_h
8 #define PPS_PPSDiamondSD_h
27 class G4HCofThisEvent;
32 public Observer<const BeginOfEvent*>,
39 void Initialize(G4HCofThisEvent* HCE)
override;
40 void EndOfEvent(G4HCofThisEvent* eventHC)
override;
41 void clear()
override;
54 void update(const ::EndOfEvent*)
override;
57 std::unique_ptr<TrackingSlaveSD>
slave_;
63 G4ThreeVector
setToLocal(
const G4ThreeVector& globalPoint);
105 #endif // PPS_PPSDiamondSD_h
bool isPrimary(const G4Track *track)
G4VPhysicalVolume * currentPV_
G4ThreeVector setToLocal(const G4ThreeVector &globalPoint)
PPSDiamondG4Hit * currentHit_
void stepInfo(const G4Step *aStep)
std::unique_ptr< TrackingSlaveSD > slave_
std::unique_ptr< PPSVDetectorOrganization > numberingScheme_
G4ThreeVector theLocalEntryPoint_
void fillHits(edm::PSimHitContainer &, const std::string &) override
PPSDiamondSD(const std::string &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
static constexpr unsigned int maxDiamondHits_
G4ThreeVector theLocalExitPoint_
void clearHits() override
bool ProcessHits(G4Step *step, G4TouchableHistory *tHistory) override
void EndOfEvent(G4HCofThisEvent *eventHC) override
uint32_t setDetUnitId(const G4Step *step) override
void Initialize(G4HCofThisEvent *HCE) override
void update(const BeginOfEvent *) override
This routine will be called when the appropriate signal arrives.
void storeHit(PPSDiamondG4Hit *)
PPSDiamondG4HitCollection * theHC_
void setNumberingScheme(PPSVDetectorOrganization *scheme)
G4THitsCollection< PPSDiamondG4Hit > PPSDiamondG4HitCollection
G4StepPoint * postStepPoint_
void resetForNewPrimary()
G4StepPoint * preStepPoint_
std::vector< PSimHit > PSimHitContainer
G4ThreeVector entrancePoint_
void clearTrack(G4Track *Track)