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 Attributes
SubsystemNeutronWriter Class Referenceabstract

doesn't have to be a producer. Can act as an analyzer, too. More...

#include <SubsystemNeutronWriter.h>

Inheritance diagram for SubsystemNeutronWriter:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper CSCNeutronWriter DTNeutronWriter RPCNeutronWriter

Public Member Functions

virtual bool accept (const edm::PSimHitContainer &cluster) const =0
 decides whether this cluster is good enough to be included More...
 
virtual int chamberId (int globalDetId) const =0
 
virtual int chamberType (int globalDetId) const =0
 
void initialize (int chamberType)
 good practice to do once for each chamber type More...
 
virtual int localDetId (int globalDetId) const =0
 
void printStats ()
 
virtual void produce (edm::Event &e, edm::EventSetup const &c)
 
 SubsystemNeutronWriter (edm::ParameterSet const &pset)
 
virtual ~SubsystemNeutronWriter ()
 destructor prints statistics on number of events written More...
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducer ()
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Member Functions

void adjust (PSimHit &h, float timeOffset, float smearing)
 helper to add time offsets and local det ID More...
 
void updateCount (int chamberType)
 updates the counter More...
 
void writeCluster (int chamberType, const edm::PSimHitContainer &cluster)
 
virtual void writeHits (int chamberType, edm::PSimHitContainer &chamberHits, CLHEP::HepRandomEngine *)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Attributes

bool initialized
 
std::map< int, int > theCountPerChamberType
 
NeutronWritertheHitWriter
 
edm::InputTag theInputTag
 
double theNeutronTimeCut
 
int theNEvents
 
double theT0
 
double theTimeWindow
 
bool useLocalDetId_
 
bool useRandFlat
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Detailed Description

doesn't have to be a producer. Can act as an analyzer, too.

Definition at line 28 of file SubsystemNeutronWriter.h.

Constructor & Destructor Documentation

SubsystemNeutronWriter::SubsystemNeutronWriter ( edm::ParameterSet const &  pset)
explicit

Definition at line 27 of file SubsystemNeutronWriter.cc.

SubsystemNeutronWriter::~SubsystemNeutronWriter ( )
virtual

destructor prints statistics on number of events written

Definition at line 72 of file SubsystemNeutronWriter.cc.

Member Function Documentation

virtual bool SubsystemNeutronWriter::accept ( const edm::PSimHitContainer cluster) const
pure virtual

decides whether this cluster is good enough to be included

Implemented in CSCNeutronWriter, RPCNeutronWriter, and DTNeutronWriter.

Referenced by Vispa.Gui.BoxContentDialog.BoxContentDialog::apply().

void SubsystemNeutronWriter::adjust ( PSimHit h,
float  timeOffset,
float  smearing 
)
protected

helper to add time offsets and local det ID

Definition at line 182 of file SubsystemNeutronWriter.cc.

virtual int SubsystemNeutronWriter::chamberId ( int  globalDetId) const
pure virtual
virtual int SubsystemNeutronWriter::chamberType ( int  globalDetId) const
pure virtual
void SubsystemNeutronWriter::initialize ( int  chamberType)

good practice to do once for each chamber type

Definition at line 122 of file SubsystemNeutronWriter.cc.

Referenced by CSCNeutronWriter::CSCNeutronWriter().

virtual int SubsystemNeutronWriter::localDetId ( int  globalDetId) const
pure virtual
void SubsystemNeutronWriter::printStats ( )

Definition at line 80 of file SubsystemNeutronWriter.cc.

void SubsystemNeutronWriter::produce ( edm::Event e,
edm::EventSetup const &  c 
)
virtual

Implements edm::EDProducer.

Definition at line 90 of file SubsystemNeutronWriter.cc.

void SubsystemNeutronWriter::updateCount ( int  chamberType)
protected

updates the counter

Definition at line 197 of file SubsystemNeutronWriter.cc.

void SubsystemNeutronWriter::writeCluster ( int  chamberType,
const edm::PSimHitContainer cluster 
)
protected

Definition at line 172 of file SubsystemNeutronWriter.cc.

void SubsystemNeutronWriter::writeHits ( int  chamberType,
edm::PSimHitContainer chamberHits,
CLHEP::HepRandomEngine *  engine 
)
protectedvirtual

Definition at line 130 of file SubsystemNeutronWriter.cc.

Member Data Documentation

bool SubsystemNeutronWriter::initialized
private

Definition at line 74 of file SubsystemNeutronWriter.h.

std::map<int, int> SubsystemNeutronWriter::theCountPerChamberType
private

Definition at line 77 of file SubsystemNeutronWriter.h.

NeutronWriter* SubsystemNeutronWriter::theHitWriter
private

Definition at line 67 of file SubsystemNeutronWriter.h.

edm::InputTag SubsystemNeutronWriter::theInputTag
private

Definition at line 69 of file SubsystemNeutronWriter.h.

double SubsystemNeutronWriter::theNeutronTimeCut
private

Definition at line 70 of file SubsystemNeutronWriter.h.

int SubsystemNeutronWriter::theNEvents
private

Definition at line 73 of file SubsystemNeutronWriter.h.

double SubsystemNeutronWriter::theT0
private

Definition at line 72 of file SubsystemNeutronWriter.h.

double SubsystemNeutronWriter::theTimeWindow
private

Definition at line 71 of file SubsystemNeutronWriter.h.

bool SubsystemNeutronWriter::useLocalDetId_
private

Definition at line 76 of file SubsystemNeutronWriter.h.

bool SubsystemNeutronWriter::useRandFlat
private

Definition at line 68 of file SubsystemNeutronWriter.h.