Print

Print


Commit in slic on MAIN
include/LcioHitsCollectionBuilder.hh+8-51.11 -> 1.12
src/LcioHitsCollectionBuilder.cc+28-441.30 -> 1.31
+36-49
2 modified files
udpate with minor LCDD refactoring

slic/include
LcioHitsCollectionBuilder.hh 1.11 -> 1.12
diff -u -r1.11 -r1.12
--- LcioHitsCollectionBuilder.hh	6 Sep 2013 22:07:47 -0000	1.11
+++ LcioHitsCollectionBuilder.hh	17 Sep 2013 00:39:21 -0000	1.12
@@ -1,4 +1,4 @@
-// $Header: /cvs/lcd/slic/include/LcioHitsCollectionBuilder.hh,v 1.11 2013/09/06 22:07:47 jeremy Exp $
+// $Header: /cvs/lcd/slic/include/LcioHitsCollectionBuilder.hh,v 1.12 2013/09/17 00:39:21 jeremy Exp $
 
 #ifndef SLIC_LCIOHITSCOLLECTIONBUILDER_HH
 #define SLIC_LCIOHITSCOLLECTIONBUILDER_HH
@@ -22,7 +22,8 @@
 // geant4
 #include "G4Event.hh"
 
-namespace slic {
+namespace slic
+{
 
 class LcioMcpManager;
 
@@ -32,17 +33,19 @@
  @note  Makes use of LcioMcpManager for Mcp hit contributions.
  */
 class LcioHitsCollectionBuilder: public Module {
+
 public:
+
 	LcioHitsCollectionBuilder();
-	virtual ~LcioHitsCollectionBuilder();
 
-public:
+	virtual ~LcioHitsCollectionBuilder();
 
 	// interface function to create an Lcio event from a G4 event
 	EVENT::LCEvent* createHCsFromG4Event(const G4Event* g4evt, EVENT::LCEvent* lcevt);
 
 	// flags for hits
 	void setLongFlag(bool s = true);
+
 	void setPDGFlag(bool s = true);
 
 	void setStoreMomentum(bool s = true) {
@@ -70,7 +73,7 @@
 	void saveHits(CalorimeterHitsCollection* calHits, IMPL::LCCollectionVec* lcioColl);
 
 	// save trk hits
-	void saveHits(G4TrackerHitsCollection* trkHits, IMPL::LCCollectionVec* lcioColl);
+	void saveHits(TrackerHitsCollection* trkHits, IMPL::LCCollectionVec* lcioColl);
 
 	// create cal hit from G4 cal hit
 	IMPL::SimCalorimeterHitImpl* createHit(CalorimeterHit* calHit);

slic/src
LcioHitsCollectionBuilder.cc 1.30 -> 1.31
diff -u -r1.30 -r1.31
--- LcioHitsCollectionBuilder.cc	14 Sep 2013 02:08:51 -0000	1.30
+++ LcioHitsCollectionBuilder.cc	17 Sep 2013 00:39:21 -0000	1.31
@@ -1,4 +1,4 @@
-// $Header: /cvs/lcd/slic/src/LcioHitsCollectionBuilder.cc,v 1.30 2013/09/14 02:08:51 jeremy Exp $
+// $Header: /cvs/lcd/slic/src/LcioHitsCollectionBuilder.cc,v 1.31 2013/09/17 00:39:21 jeremy Exp $
 
 // SLIC
 #include "LcioHitsCollectionBuilder.hh"
@@ -17,8 +17,7 @@
 #include "IMPL/LCFlagImpl.h"
 #include "IMPL/MCParticleImpl.h"
 
-#include <iostream>
-
+// LCIO
 using IMPL::SimCalorimeterHitImpl;
 using IMPL::SimTrackerHitImpl;
 using IMPL::MCParticleImpl;
@@ -27,10 +26,8 @@
 using IMPL::LCCollectionVec;
 using EVENT::LCIO;
 
-// FIXME: Is this dummy declaration still needed?
-namespace CLHEP {
-}
-using namespace CLHEP;
+// STL
+#include <iostream>
 
 using std::string;
 
@@ -48,9 +45,8 @@
 	m_trkCollFlag.setBit(LCIO::THBIT_MOMENTUM);
 }
 
-LcioHitsCollectionBuilder::~LcioHitsCollectionBuilder() {
-	;
-}
+LcioHitsCollectionBuilder::~LcioHitsCollectionBuilder()
+{}
 
 // create the hit collections
 void LcioHitsCollectionBuilder::createHitCollections() {
@@ -69,20 +65,16 @@
 
 	LCCollectionVec* collVec = 0;
 
+	// Loop over HC IDs.
 	for (std::vector<int>::const_iterator iter = hcids.begin(); iter != hcids.end(); iter++) {
 
 		hcid = *iter;
 
-#ifdef SLIC_LOG
-		//log().debug("Creating hits collections for HCID: " + StringUtil::toString( hcid ) );
-		log() << LOG::debug << LOG::head << "Creating hits collections for HCID - " << StringUtil::toString(hcid) << LOG::done;
-#endif
-
 		// retrieve Sensitive Detector ptr
 		SensitiveDetector *SD = static_cast<SensitiveDetector*>
 			(G4SDManager::GetSDMpointer()->FindSensitiveDetector(HCtbl->GetSDname(hcid)));
 
-		// get hits collection
+		// Get hits collections from SD.
 		for (int i = 0; i < SD->getNumberOfHitsCollections(); i++) {
 			if (SD->getHCID(i) == hcid) {
 				G4VHitsCollection* HC = HCE->GetHC(hcid);
@@ -98,18 +90,11 @@
 					// Store the cellID description into the LCIO::cellIDEncoding parameter in the collection.
 					if (SD->getIdSpec()) {
 						std::string id = SD->getIdSpec()->getFieldDescription();
-#if LCIO_VERSION_GE(1, 7)
 						collVec->parameters().setValue(LCIO::CellIDEncoding, id);
-#else
-						collVec->parameters().setValue("CellIDEncoding", id);
-#endif
 					}
 
 					// Check for existing collection.
 					if (containsCollection(m_currentLCEvent, HC->GetName())) {
-#ifdef SLIC_LOG
-						log().debug("Adding hits to existing collection: " + HC->GetName());
-#endif
 						// Update existing collection.
 						// TODO: Check for matching id scheme and flags!
 						LCCollectionVec * collection = (LCCollectionVec*) m_currentLCEvent->getCollection(
@@ -118,11 +103,12 @@
 					}
 					// No collection found.
 					else {
-#ifdef SLIC_LOG
-						log().debug("Creating new hit collection: " + HC->GetName());
-#endif
 						// Add new collection vector to LCEvent.
 						m_currentLCEvent->addCollection(collVec, HC->GetName());
+
+#ifdef SLIC_LOG
+						log() << LOG::always << HC->GetName() << " has " << collVec->size() << " hits" << LOG::done;
+#endif
 					}
 				}
 
@@ -132,14 +118,12 @@
 				}
 			}
 		}
-		//std::cout << std::endl;
 	}
-
 }
 
 // create the CollectionVec (decides which overloaded subfunction to call)
-IMPL::LCCollectionVec* LcioHitsCollectionBuilder::createCollectionVec(G4VHitsCollection* g4HC,
-		SensitiveDetector::EType SDtype) {
+IMPL::LCCollectionVec* LcioHitsCollectionBuilder::createCollectionVec(G4VHitsCollection* g4HC, SensitiveDetector::EType SDtype) {
+
 	// vec to create
 	LCCollectionVec* collVec = 0;
 
@@ -164,7 +148,7 @@
 	LCCollectionVec* collVec = new LCCollectionVec(LCIO::SIMTRACKERHIT);
 
 	// cast to G4 trk HC
-	G4TrackerHitsCollection* trkHits = dynamic_cast<G4TrackerHitsCollection*>(g4HC);
+	TrackerHitsCollection* trkHits = dynamic_cast<TrackerHitsCollection*>(g4HC);
 
 	// call overloaded save function for trk hits
 	saveHits(trkHits, collVec);
@@ -228,7 +212,7 @@
 }
 
 // save trk hits
-void LcioHitsCollectionBuilder::saveHits(G4TrackerHitsCollection* trkHits, IMPL::LCCollectionVec* lcioColl) {
+void LcioHitsCollectionBuilder::saveHits(TrackerHitsCollection* trkHits, IMPL::LCCollectionVec* lcioColl) {
 	size_t s = trkHits->GetSize();
 	for (size_t i = 0; i < s; i++) {
 		TrackerHit* trkHit = static_cast<TrackerHit*>(trkHits->GetHit(i));
@@ -246,7 +230,7 @@
 	simCalHit->setCellID1(id64.getId1());
 
 	// position
-	const Hep3Vector hitPos = calHit->getPosition();
+	const G4ThreeVector hitPos = calHit->getPosition();
 	float pos[3] = { hitPos.x(), hitPos.y(), hitPos.z() };
 	simCalHit->setPosition(pos);
 
@@ -282,7 +266,7 @@
 	SimTrackerHitImpl* simTrkHit = new SimTrackerHitImpl();
 
 	// position in mm
-	const Hep3Vector hitPos = trkHit->getPos();
+	const G4ThreeVector hitPos = trkHit->getPos();
 	double pos[3] = { hitPos.x(), hitPos.y(), hitPos.z() };
 	simTrkHit->setPosition(pos);
 
@@ -302,13 +286,13 @@
 	simTrkHit->setTime(tEdep);
 
 	// Cell ID.
-#if LCIO_VERSION_GE(1, 60)
+//#if LCIO_VERSION_GE(1, 60)
 	// New method for 64-bit IDs.
 	simTrkHit->setCellID0(trkHit->getId());
-#else
+//#else
 	// Old method for 32-bit IDs.
-	simTrkHit->setCellID(trkHit->getId());
-#endif
+	//simTrkHit->setCellID(trkHit->getId());
+//#endif
 
 	// MCP using McpManager
 	MCParticleImpl* mcp = m_mcpManager->getMaps()->findMcpFromTrackID(trkHit->getTrackID());
@@ -350,7 +334,7 @@
 
 		if (contribMcp != 0) {
 			// Add the MCParticle contribution to the hit.
-#if LCIO_VERSION_GE(1, 60)                
+//#if LCIO_VERSION_GE(1, 60)
 			// Newer LCIO versions have the step position for contributions.
 			simCalHit->addMCParticleContribution(
 					contribMcp,
@@ -358,11 +342,11 @@
 					(float)(contrib.getGlobalTime()),
 					contrib.getPDGID(),
 					const_cast<float*>(contrib.getPosition()));
-#else
+//#else
 			// Older LCIO versions do not include the step position.
-			simCalHit->addMCParticleContribution(contribMcp, (float) (contrib.getEdep() / GeV),
-					(float) contrib.getGlobalTime(), contrib.getPDGID());
-#endif
+//			simCalHit->addMCParticleContribution(contribMcp, (float) (contrib.getEdep() / GeV),
+//					(float) contrib.getGlobalTime(), contrib.getPDGID());
+//#endif
 			++ncontrib;
 		}
 		// Problem!  Contributing particle is missing from MCParticle list.
@@ -377,7 +361,7 @@
 #ifdef SLIC_LOG
 	if ( ncontrib == 0 )
 	{
-		log().error("No hit contribs for sim cal hit.");
+		log().error("No hit contributions for CalorimeterHit.");
 	}
 #endif
 }
CVSspam 0.2.12


Use REPLY-ALL to reply to list

To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1