src/objects/DepositedCharge.hpp

Definition of deposited charge object. More…

Namespaces

Name
allpix
Helper class to hold support layers for a detector model.

Classes

Name
class allpix::DepositedCharge
Charge deposit in sensor of detector.

Types

Name
using Message< DepositedCharge > DepositedChargeMessage
Typedef for message carrying deposits.

Detailed Description

Definition of deposited charge object.

Copyright: Copyright (c) 2017-2024 CERN and the Allpix Squared authors. This software is distributed under the terms of the MIT License, copied verbatim in the file “LICENSE.md”. In applying this license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an Intergovernmental Organization or submit itself to any jurisdiction. SPDX-License-Identifier: MIT

Types Documentation

using DepositedChargeMessage

using allpix::DepositedChargeMessage = typedef Message<DepositedCharge>;

Typedef for message carrying deposits.

Source code


#ifndef ALLPIX_DEPOSITED_CHARGE_H
#define ALLPIX_DEPOSITED_CHARGE_H

#include <TRef.h>

#include "MCParticle.hpp"
#include "SensorCharge.hpp"

namespace allpix {
    class DepositedCharge : public SensorCharge {
        friend class PropagatedCharge;

    public:
        DepositedCharge(ROOT::Math::XYZPoint local_position,
                        ROOT::Math::XYZPoint global_position,
                        CarrierType type,
                        unsigned int charge,
                        double local_time,
                        double global_time,
                        const MCParticle* mc_particle = nullptr);

        const MCParticle* getMCParticle() const;

        void setMCParticle(const MCParticle* mc_particle);

        void print(std::ostream& out) const override;

        ClassDefOverride(DepositedCharge, 4); // NOLINT
        DepositedCharge() = default;

        void loadHistory() override;
        void petrifyHistory() override;

    private:
        PointerWrapper<MCParticle> mc_particle_;
    };

    using DepositedChargeMessage = Message<DepositedCharge>;
} // namespace allpix

#endif /* ALLPIX_DEPOSITED_CHARGE_H */

Updated on 2024-12-13 at 08:31:37 +0000