CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
HCalSD Class Reference

#include <HCalSD.h>

Inheritance diagram for HCalSD:
CaloSD Observer< const BeginOfJob * > SensitiveCaloDetector Observer< const BeginOfRun * > Observer< const BeginOfEvent * > Observer< const BeginOfTrack * > Observer< const EndOfTrack * > Observer< const EndOfEvent * > SensitiveDetector

Public Member Functions

virtual double getEnergyDeposit (G4Step *)
 
 HCalSD (G4String, const DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
 
virtual bool ProcessHits (G4Step *, G4TouchableHistory *)
 
virtual uint32_t setDetUnitId (G4Step *step)
 
void setNumberingScheme (HcalNumberingScheme *)
 
virtual ~HCalSD ()
 
- Public Member Functions inherited from CaloSD
 CaloSD (G4String aSDname, const DDCompactView &cpv, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p, const SimTrackManager *, float timeSlice=1., bool ignoreTkID=false)
 
virtual void clear ()
 
virtual void DrawAll ()
 
virtual void EndOfEvent (G4HCofThisEvent *eventHC)
 
void fillHits (edm::PCaloHitContainer &, std::string n)
 
virtual void Initialize (G4HCofThisEvent *HCE)
 
virtual void PrintAll ()
 
virtual bool ProcessHits (G4GFlashSpot *aSpot, G4TouchableHistory *)
 
virtual ~CaloSD ()
 
- Public Member Functions inherited from SensitiveCaloDetector
 SensitiveCaloDetector (std::string &iname, const DDCompactView &cpv, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p)
 
- Public Member Functions inherited from SensitiveDetector
virtual void AssignSD (const std::string &vname)
 
Local3DPoint ConvertToLocal3DPoint (const G4ThreeVector &point)
 
Local3DPoint FinalStepPosition (G4Step *s, coordinates)
 
virtual std::vector< std::string > getNames ()
 
Local3DPoint InitialStepPosition (G4Step *s, coordinates)
 
std::string nameOfSD ()
 
void NaNTrap (G4Step *step)
 
void Register ()
 
 SensitiveDetector (std::string &iname, const DDCompactView &cpv, const SensitiveDetectorCatalog &, edm::ParameterSet const &p)
 
virtual ~SensitiveDetector ()
 
- Public Member Functions inherited from Observer< const BeginOfRun * >
 Observer ()
 
void slotForUpdate (const BeginOfRun *iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const BeginOfEvent * >
 Observer ()
 
void slotForUpdate (const BeginOfEvent *iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const BeginOfTrack * >
 Observer ()
 
void slotForUpdate (const BeginOfTrack *iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const EndOfTrack * >
 Observer ()
 
void slotForUpdate (const EndOfTrack *iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const EndOfEvent * >
 Observer ()
 
void slotForUpdate (const EndOfEvent *iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const BeginOfJob * >
 Observer ()
 
void slotForUpdate (const BeginOfJob *iT)
 
virtual ~Observer ()
 

Protected Member Functions

virtual bool filterHit (CaloG4Hit *, double)
 
virtual void initRun ()
 
virtual void update (const BeginOfJob *)
 This routine will be called when the appropriate signal arrives. More...
 
- Protected Member Functions inherited from CaloSD
G4bool checkHit ()
 
virtual void clearHits ()
 
CaloG4HitcreateNewHit ()
 
double getAttenuation (G4Step *aStep, double birk1, double birk2, double birk3)
 
virtual uint16_t getDepth (G4Step *)
 
int getNumberOfHits ()
 
double getResponseWt (G4Track *)
 
virtual G4bool getStepInfo (G4Step *aStep)
 
virtual int getTrackID (G4Track *)
 
G4bool hitExists ()
 
void resetForNewPrimary (const G4ThreeVector &, double)
 
G4ThreeVector setToGlobal (const G4ThreeVector &, const G4VTouchable *)
 
G4ThreeVector setToLocal (const G4ThreeVector &, const G4VTouchable *)
 
virtual void update (const BeginOfRun *)
 This routine will be called when the appropriate signal arrives. More...
 
virtual void update (const BeginOfEvent *)
 This routine will be called when the appropriate signal arrives. More...
 
virtual void update (const BeginOfTrack *trk)
 This routine will be called when the appropriate signal arrives. More...
 
virtual void update (const EndOfTrack *trk)
 This routine will be called when the appropriate signal arrives. More...
 
virtual void update (const ::EndOfEvent *)
 
void updateHit (CaloG4Hit *)
 
- Protected Member Functions inherited from Observer< const EndOfEvent * >
virtual void update (const EndOfEvent *)=0
 This routine will be called when the appropriate signal arrives. More...
 

Private Member Functions

std::vector< double > getDDDArray (const std::string &, const DDsvalues_type &)
 
void getFromLibrary (G4Step *step, double weight)
 
void getFromParam (G4Step *step, double weight)
 
void getHitFibreBundle (G4Step *step, bool type)
 
void getHitPMT (G4Step *step)
 
std::vector< G4String > getNames (DDFilteredView &)
 
void hitForFibre (G4Step *step, double weight)
 
bool isItConicalBundle (G4LogicalVolume *)
 
bool isItFibre (G4LogicalVolume *)
 
bool isItFibre (G4String)
 
bool isItHF (G4Step *)
 
bool isItHF (G4String)
 
bool isItinFidVolume (G4ThreeVector &)
 
bool isItPMT (G4LogicalVolume *)
 
bool isItScintillator (G4Material *)
 
bool isItStraightBundle (G4LogicalVolume *)
 
double layerWeight (int, const G4ThreeVector &, int, int)
 
void modifyDepth (HcalNumberingFromDDD::HcalID &id)
 
void plotHF (G4ThreeVector &pos, bool emType)
 
void plotProfile (G4Step *step, const G4ThreeVector &pos, double edep, double time, int id)
 
void readWeightFromFile (std::string)
 
uint32_t setDetUnitId (int, const G4ThreeVector &, int, int)
 
int setTrackID (G4Step *step)
 

Private Attributes

bool applyFidCut
 
double betaThr
 
double birk1
 
double birk2
 
double birk3
 
double deliveredLumi
 
TH1F * dist_ [9]
 
double eminHitHB
 
double eminHitHE
 
double eminHitHF
 
double eminHitHO
 
std::vector< G4LogicalVolume * > fibre1LV
 
std::vector< G4LogicalVolume * > fibre2LV
 
std::vector< G4LogicalVolume * > fibreLV
 
std::vector< G4String > fibreNames
 
std::vector< double > gpar
 
HcalDDDSimConstantshcalConstants
 
std::vector< int > hfLevels
 
std::vector< G4LogicalVolume * > hfLV
 
std::vector< G4String > hfNames
 
HFShowerhfshower
 
TH1F * hit_ [9]
 
TH1F * hzvem
 
TH1F * hzvhad
 
std::vector< double > layer0wt
 
std::map< uint32_t, double > layerWeights
 
HEDarkeningm_HEDarkening
 
HFDarkeningm_HFDarkening
 
std::vector< G4Material * > materials
 
std::vector< G4String > matNames
 
G4int mumPDG
 
G4int mupPDG
 
HcalNumberingFromDDDnumberingFromDDD
 
HcalNumberingSchemenumberingScheme
 
std::vector< G4LogicalVolume * > pmtLV
 
HFShowerFibreBundleshowerBundle
 
HFShowerLibraryshowerLibrary
 
HFShowerParamshowerParam
 
HFShowerPMTshowerPMT
 
bool testNumber
 
TH1F * time_ [9]
 
bool useBirk
 
bool useFibreBundle
 
bool useHF
 
bool useLayerWt
 
bool useParam
 
bool usePMTHit
 
bool useShowerLibrary
 

Additional Inherited Members

- Public Types inherited from SensitiveDetector
enum  coordinates { WorldCoordinates, LocalCoordinates }
 
- Protected Attributes inherited from CaloSD
int checkHits
 
double correctT
 
bool corrTOFBeam
 
CaloG4HitcurrentHit
 
CaloHitID currentID
 
float edepositEM
 
float edepositHAD
 
double eminHit
 
double eminHitD
 
G4int emPDG
 
double energyCut
 
G4ThreeVector entranceLocal
 
G4ThreeVector entrancePoint
 
G4int epPDG
 
bool forceSave
 
G4int gammaPDG
 
float incidentEnergy
 
double kmaxIon
 
double kmaxNeutron
 
double kmaxProton
 
const SimTrackManagerm_trackManager
 
G4ThreeVector posGlobal
 
G4StepPoint * preStepPoint
 
CaloHitID previousID
 
int primIDSaved
 
bool runInit
 
bool suppressHeavy
 
G4Track * theTrack
 
double tmaxHit
 
bool useMap
 

Detailed Description

Definition at line 35 of file HCalSD.h.

Constructor & Destructor Documentation

HCalSD::HCalSD ( G4String  name,
const DDCompactView cpv,
const SensitiveDetectorCatalog clg,
edm::ParameterSet const &  p,
const SimTrackManager manager 
)

Definition at line 42 of file HCalSD.cc.

HCalSD::~HCalSD ( )
virtual

Definition at line 359 of file HCalSD.cc.

Member Function Documentation

bool HCalSD::filterHit ( CaloG4Hit aHit,
double  time 
)
protectedvirtual

Reimplemented from CaloSD.

Definition at line 640 of file HCalSD.cc.

std::vector< double > HCalSD::getDDDArray ( const std::string &  str,
const DDsvalues_type sv 
)
private

Definition at line 671 of file HCalSD.cc.

double HCalSD::getEnergyDeposit ( G4Step *  aStep)
virtual

Reimplemented from CaloSD.

Definition at line 476 of file HCalSD.cc.

void HCalSD::getFromLibrary ( G4Step *  step,
double  weight 
)
private

Definition at line 787 of file HCalSD.cc.

void HCalSD::getFromParam ( G4Step *  step,
double  weight 
)
private

Definition at line 902 of file HCalSD.cc.

void HCalSD::getHitFibreBundle ( G4Step *  step,
bool  type 
)
private

Definition at line 1009 of file HCalSD.cc.

void HCalSD::getHitPMT ( G4Step *  step)
private

Definition at line 941 of file HCalSD.cc.

std::vector< G4String > HCalSD::getNames ( DDFilteredView fv)
private

Definition at line 696 of file HCalSD.cc.

void HCalSD::hitForFibre ( G4Step *  step,
double  weight 
)
private

Definition at line 850 of file HCalSD.cc.

void HCalSD::initRun ( void  )
protectedvirtual

Reimplemented from CaloSD.

Definition at line 624 of file HCalSD.cc.

bool HCalSD::isItConicalBundle ( G4LogicalVolume *  lv)
private

Definition at line 758 of file HCalSD.cc.

bool HCalSD::isItFibre ( G4LogicalVolume *  lv)
private

Definition at line 734 of file HCalSD.cc.

bool HCalSD::isItFibre ( G4String  name)
private

Definition at line 740 of file HCalSD.cc.

bool HCalSD::isItHF ( G4Step *  aStep)
private

Definition at line 716 of file HCalSD.cc.

bool HCalSD::isItHF ( G4String  name)
private

Definition at line 728 of file HCalSD.cc.

bool HCalSD::isItinFidVolume ( G4ThreeVector &  hitPoint)
private

Definition at line 770 of file HCalSD.cc.

bool HCalSD::isItPMT ( G4LogicalVolume *  lv)
private

Definition at line 746 of file HCalSD.cc.

bool HCalSD::isItScintillator ( G4Material *  mat)
private

Definition at line 764 of file HCalSD.cc.

bool HCalSD::isItStraightBundle ( G4LogicalVolume *  lv)
private

Definition at line 752 of file HCalSD.cc.

double HCalSD::layerWeight ( int  det,
const G4ThreeVector &  pos,
int  depth,
int  lay 
)
private

Definition at line 1119 of file HCalSD.cc.

void HCalSD::modifyDepth ( HcalNumberingFromDDD::HcalID id)
private

Definition at line 1197 of file HCalSD.cc.

void HCalSD::plotHF ( G4ThreeVector &  pos,
bool  emType 
)
private

Definition at line 1188 of file HCalSD.cc.

void HCalSD::plotProfile ( G4Step *  step,
const G4ThreeVector &  pos,
double  edep,
double  time,
int  id 
)
private

Definition at line 1141 of file HCalSD.cc.

bool HCalSD::ProcessHits ( G4Step *  aStep,
G4TouchableHistory *   
)
virtual

Reimplemented from CaloSD.

Definition at line 372 of file HCalSD.cc.

void HCalSD::readWeightFromFile ( std::string  fName)
private

Definition at line 1093 of file HCalSD.cc.

uint32_t HCalSD::setDetUnitId ( G4Step *  step)
virtual

Implements CaloSD.

Definition at line 572 of file HCalSD.cc.

uint32_t HCalSD::setDetUnitId ( int  det,
const G4ThreeVector &  pos,
int  depth,
int  lay = 1 
)
private

Definition at line 659 of file HCalSD.cc.

void HCalSD::setNumberingScheme ( HcalNumberingScheme scheme)

Definition at line 585 of file HCalSD.cc.

int HCalSD::setTrackID ( G4Step *  step)
private

Definition at line 1073 of file HCalSD.cc.

void HCalSD::update ( const BeginOfJob )
protectedvirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfJob * >.

Definition at line 593 of file HCalSD.cc.

Referenced by Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom().

Member Data Documentation

bool HCalSD::applyFidCut
private

Definition at line 93 of file HCalSD.h.

double HCalSD::betaThr
private

Definition at line 92 of file HCalSD.h.

double HCalSD::birk1
private

Definition at line 92 of file HCalSD.h.

double HCalSD::birk2
private

Definition at line 92 of file HCalSD.h.

double HCalSD::birk3
private

Definition at line 92 of file HCalSD.h.

double HCalSD::deliveredLumi
private

Definition at line 95 of file HCalSD.h.

TH1F * HCalSD::dist_[9]
private

Definition at line 103 of file HCalSD.h.

double HCalSD::eminHitHB
private

Definition at line 94 of file HCalSD.h.

double HCalSD::eminHitHE
private

Definition at line 94 of file HCalSD.h.

double HCalSD::eminHitHF
private

Definition at line 94 of file HCalSD.h.

double HCalSD::eminHitHO
private

Definition at line 94 of file HCalSD.h.

std::vector<G4LogicalVolume*> HCalSD::fibre1LV
private

Definition at line 101 of file HCalSD.h.

std::vector<G4LogicalVolume*> HCalSD::fibre2LV
private

Definition at line 101 of file HCalSD.h.

std::vector<G4LogicalVolume*> HCalSD::fibreLV
private

Definition at line 101 of file HCalSD.h.

std::vector<G4String> HCalSD::fibreNames
private

Definition at line 99 of file HCalSD.h.

std::vector<double> HCalSD::gpar
private

Definition at line 97 of file HCalSD.h.

HcalDDDSimConstants* HCalSD::hcalConstants
private

Definition at line 81 of file HCalSD.h.

std::vector<int> HCalSD::hfLevels
private

Definition at line 98 of file HCalSD.h.

std::vector<G4LogicalVolume*> HCalSD::hfLV
private

Definition at line 101 of file HCalSD.h.

std::vector<G4String> HCalSD::hfNames
private

Definition at line 99 of file HCalSD.h.

HFShower* HCalSD::hfshower
private

Definition at line 85 of file HCalSD.h.

TH1F* HCalSD::hit_[9]
private

Definition at line 103 of file HCalSD.h.

TH1F * HCalSD::hzvem
private

Definition at line 103 of file HCalSD.h.

TH1F * HCalSD::hzvhad
private

Definition at line 103 of file HCalSD.h.

std::vector<double> HCalSD::layer0wt
private

Definition at line 97 of file HCalSD.h.

std::map<uint32_t,double> HCalSD::layerWeights
private

Definition at line 102 of file HCalSD.h.

HEDarkening* HCalSD::m_HEDarkening
private

Definition at line 89 of file HCalSD.h.

HFDarkening* HCalSD::m_HFDarkening
private

Definition at line 90 of file HCalSD.h.

std::vector<G4Material*> HCalSD::materials
private

Definition at line 100 of file HCalSD.h.

std::vector<G4String> HCalSD::matNames
private

Definition at line 99 of file HCalSD.h.

G4int HCalSD::mumPDG
private

Definition at line 96 of file HCalSD.h.

G4int HCalSD::mupPDG
private

Definition at line 96 of file HCalSD.h.

HcalNumberingFromDDD* HCalSD::numberingFromDDD
private

Definition at line 82 of file HCalSD.h.

HcalNumberingScheme* HCalSD::numberingScheme
private

Definition at line 83 of file HCalSD.h.

std::vector<G4LogicalVolume*> HCalSD::pmtLV
private

Definition at line 101 of file HCalSD.h.

HFShowerFibreBundle* HCalSD::showerBundle
private

Definition at line 88 of file HCalSD.h.

HFShowerLibrary* HCalSD::showerLibrary
private

Definition at line 84 of file HCalSD.h.

HFShowerParam* HCalSD::showerParam
private

Definition at line 86 of file HCalSD.h.

HFShowerPMT* HCalSD::showerPMT
private

Definition at line 87 of file HCalSD.h.

bool HCalSD::testNumber
private

Definition at line 91 of file HCalSD.h.

TH1F * HCalSD::time_[9]
private

Definition at line 103 of file HCalSD.h.

bool HCalSD::useBirk
private

Definition at line 91 of file HCalSD.h.

bool HCalSD::useFibreBundle
private

Definition at line 91 of file HCalSD.h.

bool HCalSD::useHF
private

Definition at line 93 of file HCalSD.h.

bool HCalSD::useLayerWt
private

Definition at line 91 of file HCalSD.h.

bool HCalSD::useParam
private

Definition at line 93 of file HCalSD.h.

bool HCalSD::usePMTHit
private

Definition at line 91 of file HCalSD.h.

bool HCalSD::useShowerLibrary
private

Definition at line 93 of file HCalSD.h.