1 #ifndef SimG4CMS_CaloSD_h 2 #define SimG4CMS_CaloSD_h 28 #include "G4VPhysicalVolume.hh" 30 #include "G4VGFlashSensitiveDetector.hh" 38 class G4HCofThisEvent;
43 public G4VGFlashSensitiveDetector,
45 public Observer<const BeginOfEvent *>,
46 public Observer<const BeginOfTrack *>,
48 public Observer<const EndOfEvent *> {
55 float timeSlice=1.,
bool ignoreTkID=
false);
58 bool ProcessHits(G4GFlashSpot*aSpot,G4TouchableHistory*)
override;
63 void Initialize(G4HCofThisEvent * HCE)
override;
64 void EndOfEvent(G4HCofThisEvent * eventHC)
override;
65 void clear()
override;
75 G4ThreeVector
setToLocal(
const G4ThreeVector&,
const G4VTouchable*);
76 G4ThreeVector
setToGlobal(
const G4ThreeVector&,
const G4VTouchable*);
82 double getAttenuation(
const G4Step* aStep,
double birk1,
double birk2,
89 void update(const ::EndOfEvent *)
override;
94 virtual uint16_t
getDepth(
const G4Step*);
149 std::map<int,TrackWithHistory*>
tkMap;
161 #endif // SimG4CMS_CaloSD_h
double getAttenuation(const G4Step *aStep, double birk1, double birk2, double birk3)
std::vector< PCaloHit > PCaloHitContainer
void updateHit(CaloG4Hit *)
virtual uint16_t getDepth(const G4Step *)
uint32_t setDetUnitId(const G4Step *step) override=0
virtual int getTrackID(const G4Track *)
void Initialize(G4HCofThisEvent *HCE) override
type of data representation of DDCompactView
void fillHits(edm::PCaloHitContainer &, const std::string &) override
std::vector< CaloG4Hit * > reusehit
void cleanHitCollection()
void resetForNewPrimary(const G4ThreeVector &, double)
std::vector< CaloG4Hit * > hitvec
G4ThreeVector setToGlobal(const G4ThreeVector &, const G4VTouchable *)
CaloSD(const std::string &aSDname, const DDCompactView &cpv, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p, const SimTrackManager *, float timeSlice=1., bool ignoreTkID=false)
std::vector< unsigned int > selIndex
CaloMeanResponse * meanResponse
void storeHit(CaloG4Hit *)
virtual bool filterHit(CaloG4Hit *, double)
virtual G4bool getStepInfo(G4Step *aStep)
G4StepPoint * preStepPoint
void EndOfEvent(G4HCofThisEvent *eventHC) override
std::map< CaloHitID, CaloG4Hit * > hitMap
CaloG4HitCollection * theHC
G4THitsCollection< CaloG4Hit > CaloG4HitCollection
bool ProcessHits(G4Step *step, G4TouchableHistory *tHistory) override
std::map< int, TrackWithHistory * > tkMap
const SimTrackManager * m_trackManager
void clearHits() override
double getResponseWt(const G4Track *)
bool saveHit(CaloG4Hit *)
CaloG4Hit * createNewHit()
G4ThreeVector entrancePoint
G4ThreeVector entranceLocal
void update(const BeginOfRun *) override
This routine will be called when the appropriate signal arrives.
virtual double getEnergyDeposit(G4Step *step)
G4ThreeVector setToLocal(const G4ThreeVector &, const G4VTouchable *)